当前位置:编程学习 > C#/ASP.NET >>

datatable的绑定

我在后台得到的datatable的列名是变化的,前台怎么绑定列名呢?

dt 的列名有可能是 
a2011 b2011 c2011 a0212 b2012 c2012 这个是查 2011——2012的数据 
有可能是
a2009 b2009 c2009 a2010 b2010 c2010 这个是查 2009——2010的数据 

前台绑定的时候列名怎么变化呢? --------------------编程问答-------------------- gridview.DataSource=dt;
这句绑定完后你可以设各个列名
gridview.Columns[0]...="a2009";
... --------------------编程问答-------------------- 不用写列名   直接连列名绑定出来
AutoGenerateColumns --------------------编程问答-------------------- 个人觉得在绑定数据 涉及到数据源的列名是不确定时  一般都是你的数据库设计部合理

像这种完全是可以写成通用的然后加以标志字段来识别

不过LZ帖子里面的绑定 可以先查询查列的个数,再用列的序号来取值 --------------------编程问答-------------------- 我觉得应该在数据库端来解决此问题, 我看到你每次查出来的都是6列, 那么你在存储过程里可以这么写,
首先传入一个参数, 根据这个参数来确定要搜索哪几列,
然后select a2011 as c1, b2011 as c2 ... from table where ...
这样, 你的存储过程返回的列名就是固定的c1, c2,....,
那么前台的绑定部分就不用改变了 --------------------编程问答-------------------- 你的列名是有规律的啊,都是a+日期,新增个table,列名设为a,b,c,把数据放进去就行了 --------------------编程问答-------------------- 这种不好绑定的话,你直接用StringBuilder在后台把数据用for循环读取格式化了再直接在前台用literal显示出来就行了,dt.Rows[i][j].ToString(),就不用管列名了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,