ASP.NET GridView绑定
今天要好好说说GridView的绑定问题了,因为我喜欢直接用DataTable,每次把查询出来的结果集放入DataTable里面,然后直接把DataTable的结果集 赋给 GridView的DataSource。这种方法好处是直接可以把结果集绑定到GridView,不用在去编辑GridView列了。但这样会有问题,如果想格式化某列的值该怎么办呢?
我就是因为这个问题被纠结了,因为我是直接绑定的结果集,没有去编辑GridView列来绑定相关结果集字段。
有三种方法解决
第一种就是编辑GridView模板列来绑定相关结果集字段
具体操作如下:
先把AutoGenerateColumns 设置为False
1.先选中GridView在右上角有个三角点击后选择“编辑列”
2.然后选择你想添加列的类型
3.类型属性里面有HeaderText 属性和 DataField属性填写相关字段就好了。
第二种就是不加模版列从SQL开始着手
不加模板列,那就在SQL语句上处理。
convert函数的第三个参数120的意思是时间格式遵循: yyyy-MM-dd hh:MM:ss格式,所有第一个参数varchar(n)中的n长度就决定是取几位数。
利用CONVERT(varchar(10),[VisitDate],120)
varchar(10) 正好是 2011-08-18(10个长度)
例如:string sql = "SELECT CONVERT(varchar(10),PBRQ ,120) AS 出诊日期,PBSD AS 出诊时段, GHF AS 挂号费,SYHS AS 剩余号数 FROM YY_PBB WHERE GH='" + gh + "' AND PBRQ > #" + DateTime.Now.ToString("yyyy-MM-dd") + "#";
第三种不加模版列但是要处理查询出来的结果集了
直接把查询出来的结果集给格式掉然后在绑定
另外我以前做Winform程序的时候DataGridView也是直接绑定的DataTable
我想如果格式化的话可能跟上面大同小异吧。