q406157290 发表于 2016-12-1 13:21:30

C1DataGrid的DataGridTemplateColumn列编辑模式下是数字控件问题

数字控件限制最大范围,当输入的数字超过范围,单元格显示的还是超过范围的数字


代码是NumberPage.xaml

Alice 发表于 2016-12-1 16:33:11

按照你目前的写法,在这个平台下的策略是这样的(你只限制了进入编辑状态的最大值)。
你把C1DataGrid替换成微软标准的DataGrid,可以得到一样的结果。

q406157290 发表于 2016-12-1 17:22:49

本帖最后由 q406157290 于 2016-12-1 17:24 编辑

Alice 发表于 2016-12-1 16:33
按照你目前的写法,在这个平台下的策略是这样的(你只限制了进入编辑状态的最大值)。
你把C1DataGrid替换 ...我知道用DataGrid 本身的NumberBox可以
但是我有 特殊需求就是不能用DataGrid 的NumberBox列
只能用template列

Alice 发表于 2016-12-1 17:49:12

q406157290 发表于 2016-12-1 17:22
我知道用DataGrid 本身的NumberBox可以
但是我有 特殊需求就是不能用DataGrid 的NumberBox列
只能用templ ...

编辑模板用的是C1NumericBox,是双向绑定。
外边的文本显示用的是单向绑定。
里面的数字校验变化后,修改了数据源,数据源做通知,通知外边的文本框同步更改。
这是你的数据源没有做通知机制,和控件没有关系。

你处理你自己的数据源做通知就可以了。

q406157290 发表于 2016-12-2 09:31:32

本帖最后由 q406157290 于 2016-12-2 09:35 编辑

Alice 发表于 2016-12-1 17:49
编辑模板用的是C1NumericBox,是双向绑定。
外边的文本显示用的是单向绑定。
里面的数字校验变化后,修 ...
您说 里面的数字校验变化后,修改了数据源
但是nmber控件校验变化后并没有修改value绑定的值,数据源并没有发生变化
nmber控件校验变化后value值的更改并没有触发绑定值的set方法

不明白您所说的通知变化如何实现

Alice 发表于 2016-12-2 15:09:19

q406157290 发表于 2016-12-2 09:31
您说 里面的数字校验变化后,修改了数据源
但是nmber控件校验变化后并没有修改value绑定的值,数据源并 ...

您用的是MVVM,MVVM模式下用的消息通知处理机制和WPF的DP不同。
按照你现在的数据源处理方式,即使不是c1的控件,而是微软的DataGrid控件,也是同样的结果。

q406157290 发表于 2016-12-5 13:48:21

Alice 发表于 2016-12-2 15:09
您用的是MVVM,MVVM模式下用的消息通知处理机制和WPF的DP不同。
按照你现在的数据源处理方式,即使不是c ...

奥好的谢谢

Alice 发表于 2016-12-5 14:47:49

q406157290 发表于 2016-12-5 13:48
奥好的谢谢

谢谢反馈。
页: [1]
查看完整版本: C1DataGrid的DataGridTemplateColumn列编辑模式下是数字控件问题