DataTable中数据:
ID NAME State
1 A 1
2 B 0
3 C 0
State数据列为int型,想让它在页面读取显示时,1显示为非工作日转工作日,0显示为工作日转非工作日。
详细原因:当在做列转换时
1,数据库中类型和要修改成的类型不一致;
2,遇到DataTable中有数据则无法进行数据转换的问题。
解决方法:如果直接修改当前datatable里制定列的数据会提示因为有数据所以不让修改,而通过if判断直接赋值又会提示数据类型不同而拒绝操作,报错。
通过在网上参照其他该类问题,基本解决方式都是要修改列结构。既然明白了关键所在那就直奔主题了。
1,我新建立一个新的datatable类型的变量,定义好各个列为自己需要的类型,然后添加各个列到新datatable中。
2,遍历原datatable数据,给新datatable各行各列赋值。
3,添加筛选条件,按照需要将指定列的内容进行更改,得到想要的效果。
具体代码如下:
1 private void Bind()//数据绑定方法 2