找回密码
 立即注册

QQ登录

只需一步,快速开始

fxdmhtt

初级会员

9

主题

38

帖子

221

积分

初级会员

积分
221

活字格认证微信认证勋章

fxdmhtt
初级会员   /  发表于:2015-8-19 01:18  /   查看:6783  /  回复:5
我有一串数列,List<Dictionary<string,object>>,其中object保证是long、int、double中的一个。
现我通过 dg.Columns.Add(new C1.WPF.DataGrid.DataGridNumericColumn() { Header = key, Binding = new Binding(string.Format("[{0}]", key)) }) 的形式动态绑定数据,业务逻辑没有问题,功能也正常。
但数字太长时,没有千分位是否难以阅读,且不能统一小数位数。
我尝试过Binding的StringFormat属性,也尝试过DataGridNumericColumn的Format属性,皆以失败告终。猜测原因可能是datasource是double类型的缘故,不应用字符串格式。
请问在datasource是double类型、通过DataGridNumericColumn显示的情况下,如何能做到统一小数位数、自动千分位逗号?如果不行,请问最简单的做法是什么(保证我能应用数字筛选功能)。谢谢。

版本VS2013,C1 2014V1。

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-8-19 09:42:00
沙发
回复 1楼fxdmhtt的帖子

谢谢你的反馈。
根据你的描述,你需要实现千分号和固定小数位。
C1DataGrid可以实现。
你可以参考如下路径的随机安装示例:
\Documents\ComponentOne Samples\Studio for WPF\C1.WPF.DataGrid\CS\DataGridSamples\DataGrid

DataGridPage这个示例中的Standard Cost字段就是绑定的数据源里的StandardCost,类型为double,可以显示千分位和固定小数位。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
fxdmhtt
初级会员   /  发表于:2015-8-19 21:54:00
板凳
调试了一晚上,实在不知道demo是怎么做到的。麻烦告诉我具体的实现,或者做个简单一点的demo也行。
回复 使用道具 举报
fxdmhtt
初级会员   /  发表于:2015-8-19 21:55:00
地板
试过
         [Required]
        [Range(0, 10000)]
        [Display(Name = &quot;Standard Cost&quot;)]
        [DisplayFormat(DataFormatString = &quot;C&quot;)]
        public new object this[string key]
        {
            get { return base[key]; }
            set { base[key] = value; }
        }

没用
回复 使用道具 举报
fxdmhtt
初级会员   /  发表于:2015-8-19 22:07:00
5#
好吧,找到了。藏得够深的。结贴吧,多谢。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-20 09:29:00
6#
回复 5楼fxdmhtt的帖子

谢谢你的反馈。
你也可以将自己找到的经验分享上来,供其它用户参考。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部