找回密码
 立即注册

QQ登录

只需一步,快速开始

dafeng520

论坛元老

19

主题

74

帖子

7661

积分

论坛元老

积分
7661

活字格认证

dafeng520
论坛元老   /  发表于:2014-5-22 08:52  /   查看:18446  /  回复:30
目前在使用wpf版FlexGrid时发现,如果想控制输入小数的位数,可以使用属性Format,如果要使该值可灵活配置,则可使用Format="{StaticResource Sl}"。
现象: 如果数量Sl配置为“0.###”,则保留3位小数,如果输入超过3位,则截断显示,如输入2.1234,界面显示2.123,但是其绑定的结构中,数据还是2.1234,此时双击下次单元格,发现显示依然是2.123,后台结构也同时改变为2.123。
问题一:如何使界面format后和后台不同步,即输入2.1234后,界面显示2.123,后台数据一直是2.1234。当单元格进入编辑后,显示2.1234,退出编辑后,显示2.123。
问题二:如何使界面format后和后台同步,即输入2.1234后,界面和后台数据都为2.123。
问题三:通过配置,可使上述两个方案可方便切换。

30 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-5-22 09:47:00
沙发
抱歉,您的这个需求目前无直接的接口可实现:
1 显示3位小数
2 数据保留4位小数
3 编辑的时候又显示为4位小数

C1FlexGrid.CellFactory接口不知道您考虑过没有?  可实现类似的需求,不过编码量和复杂度较大。
回复 使用道具 举报
dafeng520
论坛元老   /  发表于:2014-5-22 14:00:00
板凳
上面提的现象,能不能认为是一个bug呢?
有没有简单的办法,解决问题二?
能否提供类似的demo呢。
谢谢!
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-5-22 17:17:00
地板
回复 3楼dafeng520的帖子
如何使界面format后和后台同步,即输入2.1234后,界面和后台数据都为2.123





安装控件后,自带有demo:C:\Users\rogerwang\Documents\ComponentOne Samples\Studio for WPF\C1.WPF.FlexGrid\CS\FlexGridSamples\Grouping

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
dafeng520
论坛元老   /  发表于:2014-5-23 10:03:00
5#
如你图所示,我尝试了一下,如果输入2.12345,format串还是按照你写的“0.###”,得到的obj依然是2.12345啊
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-5-23 11:51:00
6#
回复 5楼dafeng520的帖子

4#的结果我昨天验证过,即无法在UI输入小数点后4位(已经限制为3位了),我用的是WPF C1FlexGrid 2014V1版本。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-6-9 09:28:00
7#
此贴有问题请继续跟帖。
回复 使用道具 举报
dafeng520
论坛元老   /  发表于:2014-6-10 08:19:00
8#
此问题未处理啊,能否再提供个demo我试试。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-6-10 18:15:00
9#
抱歉让您久等了。

安装C1后,有一个自带的demo:
C:\Users\rogerwang\Documents\ComponentOne Samples\Studio for WPF\C1.WPF.FlexGrid\CS\Financial\Financial

FinancialCellFactory: 实现了自定义的CellFactory,可实现format实现不了的功能, 供您参考。
回复 使用道具 举报
dafeng520
论坛元老   /  发表于:2014-6-12 09:27:00
10#
我在这个sample里简单测试了一下,问题依旧,见图。
首先在第一行里输入100.123456789,按回车,显示10.12,然后看到后台数据,依然是100.123456789,而我要后台也为10.12。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部