用代码来填充GridView并改变头部提示文本,有些列的数据可能需要转换,怎么做呢? 比如:有一个课表,有字段如下:
Id,Name,ClassName,Date,IsDel(对应)
编号,名称,类别,日期,删除(这个是解释)
1,礼仪,2,2007-10-1 10:20:30,0(这个是值)需要体现如下,
编号,名称,类别,日期,删除(需要显示的标题)
1,礼仪,置业顾问,2007.10.1,未删除(需要显示的值,其中数据库的类别值是2,从另外一个表得来。日期进行了简化。删除标记进行了中文化。)
Id,Name,ClassName,Date,IsDel(对应)
编号,名称,类别,日期,删除(这个是解释)
1,礼仪,2,2007-10-1 10:20:30,0(这个是值)需要体现如下,
编号,名称,类别,日期,删除(需要显示的标题)
1,礼仪,置业顾问,2007.10.1,未删除(需要显示的值,其中数据库的类别值是2,从另外一个表得来。日期进行了简化。删除标记进行了中文化。)
用i来循环并处理显示的文本
this.GridView1.Rows(e.Row.RowIndex).Cells(i).Text例如IsDel可以判断是否为0 设置上面的Text为已删除、未删除
Date可以用substring的方法来截取
1.对于表头的问题,在绑定列的HeaderText属性里可以设置
2.类别的问题应该在SQL里解决
3.日期格式化 和 0,1转换成中文的方法到网上去搜吧
foreach (GridViewRow row in GridView1.Rows)
{
if (row.Cells[6].Text == "0")
{
row.Cells[6].Text = "未删除";
}
else if (row.Cells[6].Text == "1")
{
row.Cells[6].Text = "已删除";
}
日期问题:
在gridView内:
<asp:BoundField DataField="BOOKING_TIME" HeaderText="时间" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:yyyy.MM.dd}"
HtmlEncode="false" ItemStyle-Width="15%"/>