在使用gridview显示千分位的时候遇到这样的问题,记录之:
在设置好对应字段的DisplayFormat属性为Numeric "N2" 后,从数据库中查询来的表数据(未转化),有时候能显示千分位,有时候却不能够。
发现:如果该字段存在NULL值的时候,会有这个情况产生。而且是在你查到的第一行记录中该字段为NULL的情况下,会出现无法准确显示千分位的情况; 如果第一行记录中该字段有非NULL数值,那么他会正常显示千分位。
可能是如果第一行的该字段为null时,控件首先进行了该字段类型的确认,认为该字段为string类型,默认转化为了string值,后续的numeric类型的值都被转化为string来显示; 如果第一行为数值,则会被认定为数值类型而正确转化;
碰到这种情况的时候,可自定义字段的格式化显示,在gridview的CustomColumnDisplayText事件中进行判断转化即可。