DataTable添加列时容易被忽略的问题!

我们经常用到DataTable.Columns.Add("ColumnsName"),久而久之形成了一种思维,当然也知道可以设置数据值类型,但经常可以忽略,因为没有什么影响.今天我就碰到这个问题,因为没有设置数据类型,出现了BUG
BUG出现的情况说明:
刚开始,用DataTable.Columns.Add("ColumnsName"),方式添加了列
我添加的列中有3行数据,分别为 12 ,14 ,7,添加行数据时,我用 Decimal 数据类型添加的.
然后我筛选数据,取出最大最小值,用表的DefaultView.Sort方法(默认排序,从小到大)
1 None.gif DataView ViewTableName  =  表名.DefaultView;
2 None.gifViewTableName.Sort  =   " 列名 "
3 None.gif string  strMin  =  ViewTableName[ 0 ]..Row[ " 列名 " ].ToString();  
4 None.gif string  strMan  =  ViewTableName[表名.Rows.Count - 1 ]..Row[ " 列名 " ].ToString();  
调试时,发现ViewTableName行变成了7,14,12. 我郁闷:( ,不知道那的问题,刚开始认为是sort的问题,可是我改成了Desc排序,又变成了12,14,7 ,我晕倒.真在纳闷呢,看到flyingchen在线上,请教了一下,他认为是数据类型的问题.我仔细看看,在添加列时,并没有加上类型,因为以前经常用,认为没有什么关系.
所以我重新修改了添加列
1 None.gif 表名.Columns.Add( " 列名 " ,System.Type.GetType( " System.Decimal " ));
然后再次排序,终于出现了7,12,14 了. 多谢flyingchen了.

转载于:https://www.cnblogs.com/zjy/archive/2006/08/29/489494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值