关于GridView的有关问题 绑定时怎么IF多个选项
求助 关于GridView的问题 绑定时如何IF多个选项
RT
我数据库有两列 这样的数据列
StartDate EndDate
开始时间 结束时间
而 我的一个GirdView 上 有一个 状态列 State
我想实现的这样的效果
当前时间在 开始时间和结束时间之前 时候 State 的列中显示的是 “未开始”
当前时间在 开始时间和结束时间 其中 时候 State 的列中显示的是 “正在进行”
当前时间在 开始时间和结束时间 之后 时候 State 的列中显示的是 “已经结束 ”
这样的话 我该在 绑定的时候 Eval(“”)? 这里该怎么写判断
或者 大家有更好的实现方法
效果如上
------解决方案--------------------
在sql里比较方便
select (case when getdate()<startdate then '未开始' when getdate()>enddate then '已经结束' else '正在进行' end ) state
------解决方案--------------------
反正就这几个方法
1。 GridView1_RowDataBound 里重新赋值
2。 后台写一个简单返回函数 前台绑定数据前面加个函数名即可
3。 sql语句里case判断 直接输出
都一样的道理 没啥方便麻烦的
------解决方案--------------------
<%# getStatue(Eval(startTime),Eavl(EndTime)) %>
后台方法
public string getStatue(object starttime,objject endtime)
{
//处理
}
------解决方案--------------------
RT
我数据库有两列 这样的数据列
StartDate EndDate
开始时间 结束时间
而 我的一个GirdView 上 有一个 状态列 State
我想实现的这样的效果
当前时间在 开始时间和结束时间之前 时候 State 的列中显示的是 “未开始”
当前时间在 开始时间和结束时间 其中 时候 State 的列中显示的是 “正在进行”
当前时间在 开始时间和结束时间 之后 时候 State 的列中显示的是 “已经结束 ”
这样的话 我该在 绑定的时候 Eval(“”)? 这里该怎么写判断
或者 大家有更好的实现方法
效果如上
------解决方案--------------------
在sql里比较方便
select (case when getdate()<startdate then '未开始' when getdate()>enddate then '已经结束' else '正在进行' end ) state
------解决方案--------------------
反正就这几个方法
1。 GridView1_RowDataBound 里重新赋值
2。 后台写一个简单返回函数 前台绑定数据前面加个函数名即可
3。 sql语句里case判断 直接输出
都一样的道理 没啥方便麻烦的
------解决方案--------------------
<%# getStatue(Eval(startTime),Eavl(EndTime)) %>
后台方法
public string getStatue(object starttime,objject endtime)
{
//处理
}
------解决方案--------------------
- C# code
protected void rep_Topic_ItemDataBound(object sender, RepeaterItemEventArgs e) { DataRowView dr = (DataRowView)e.Item.DataItem; dr["你的字段"] }
------解决方案--------------------
在前台中
<%# GetDString(Eval(startTime),Eavl(EndTime)) %>
public string GetDString(object StarTime,Object EndTime)
{
DateTime dt=DataTime.Now.ToString("yyyy-MM-dd");
if(判断条件)
{
ReTurn "未开始";
}
else if(判断条件)
{
ReTurn "正在进行";
}
else if(判断条件)
{
ReTurn "已经结束";
}
else
ReTuen "":
}
------解决方案--------------------
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView dr = (DataRowView)e.Row.DataItem;
string starttime = dr["starttime"].ToString();
string endtitme = dr["endtitme"].ToString();
DateTime date = DateTime.Now;
//处理
e.Row.Cells[0].Text = "dd";
}
}