GridView中的格式字符串为什么会失效?

人会不会在同一个地方跌倒两次?答案是肯定的。当我终于找到原因后,隐约想起似乎曾经在很久以前遇到过同样的问题,从而也有了这个结论。

昨天,应用户的要求,将显示的数据格式化为带有千位分隔符的金额形式。这些数据我是用GridView来呈现的,所以,点击GridView右上角的小三角符号,会弹出一个GridView任务菜单,然后点击“编辑列”链接,就会打开一个字段编辑窗口,选中要编辑的字段,有一个“DataFormatString”属性,将其设置为{0:N},当然,还需要找到HtmlEncode属性,将其设置为False,最后点“确定”。如果不出意外的话,页面上相应的字段就会显示成用户要求的样子了。在这一瞬间,我甚至都不打算测试一下了,因为,结果都在意料之中,还有什么好试的呢?但是,做为程序员的习惯,加之VS2005的便利,我还是点了一下三角按钮。结果很快就出来了,只是,和我想像的不太一样,相应的字段并没有被格式化,而依然是原样显示的。我简直不敢相信自己的眼睛,赶紧检查是不是设错了字段呢?结果当然是没有问题。我不断地尝试,甚至怀疑是VS出错,但同一个项目中的其它页面又是正常的。真是百思不得其解!

只好开始检查数据源,我发现正常显示的数据来源于数据库的直接查询结果,而无法正常显示的数据,绑定的表是我在程序中生成的。那么是不是和这点有关呢?程序生成的表数据不能被格式化?这显然不能成立!但我还是参考了以前写的程序,都是没有问题的。这时,脑海里已经渐渐地出现了一些记忆,隐隐已经感觉到曾经在同一个地方跌过跟头了。找到表的定义,发现这些字段的类型都定义为String,而数据表中的定义是Decimal类型。我想:这就应该是问题所在了。将它们的类型改为Decimal,果然,想要的结果出来了!在程序中定义表结构的时候,为了图省事,没想到却在这里造成了麻烦。

以前,我一定遇到过同样的问题,但却“好了伤疤忘了痛”,在同一个地方又摔了一次。还好,现在有博客,随时把工作中的问题记录下来,一来总结经验,加深认识,二来为自己以后的工作做个参考,三来也为别人提供一些借鉴。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客行天下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值