首页  ·  知识 ·  云计算
GridView控件自动生成列中字符串格式化的处理分析
佚名  本站原创  综合  编辑:dezai  图片来源:网络
article-detail id=divDetail>项目是ACCESS数据库,GridView捆绑数据源是动态变化的,不能在columns里直接定义列,并声明formatstring属性
项目是ACCESS数据库,GridView捆绑数据源是动态变化的,不能在里直接定义列,并声明formatstring属性的内容。但显示的数据涉及日期和货币格式,客户要求必须以行业的格式显示(日期:YYYY-MM/货币:¥000,000.0000)。

本来以为很简单的问题,找到列的集合,然后按索引制定该列的formatstring属性就可以了,结果发现根本就是错的。自动生成的列是不在列的集合里的(有待再研究),最起码无法显式设置 。

禁用自动生成列,因为数据源随时变化,不可能在显示层直接直接声明列。只好试着在业务层编程方式添加列,但发现datacolumn是不行的,无法设置需要的属性。

只好回到数据层,想通过遍历后格式化字符的形式把DataView中的数据直接格式化好后再绑定到控件。写了个遍历程序,找了半天没有找到如何格式化成{yyyy-mm}等格式的方法。而且觉得这样数据层太过繁琐,代码不整洁,放弃。

就剩下数据库了,因为用的ACCESS数据库,真的没什么信心。因为它我用的不多,翻遍函数表,找到format函数。

format(expression,'yyyy-mm') format(expression,' ¥##,##0.0000')

问题初步解决。

但发现新问题,我用的是汇总数据,发现sum(format())无效,思索后改为:format(sum(datafiled)),捆绑格式成功,问题解决!

format()函数不会造成group by语句错误,说为选择列不包含在分组列中,这与其它的函数不同,除聚合函数外。
本文作者:佚名 来源:本站原创
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读