Tosp2012 发表于 2019-10-14 20:44:54

c1flexgrid的afteredit问题

c1flexgrid绑定datatable,其中datatable的一列为选择项
问题:我选择完成后,在c1flexgrid的afteredit事件中发现datatable对应的列值还是原来的值,没有改变;如果我将鼠标点其他地方后,这时选中的值才能改变。
请问,如何用代码让改变的值马上生效?

Tosp2012 发表于 2019-10-14 20:52:00

编辑单元格完成后,已触发afteredit事件,且焦点还在原来的单元格内时,这时候单元格的值还未生效,只有改变单元个焦点后,修改后的值才生效。

Tosp2012 发表于 2019-10-14 20:54:17

由于这个afteredit事件特性,导致修改后的值,无法用datatable.getchange获取到修改后的值

Richard.Ma 发表于 2019-10-14 23:35:12

我理解你这边的问题了,明天早上帮你验证

Tosp2012 发表于 2019-10-15 09:47:34

C:\Users\Administrator\Desktop\SysError

Richard.Ma 发表于 2019-10-15 11:09:35

checkbox状态改变后,AfterEdit事件里面,用代码获取c1FlexGrid1.DataSource,也就是绑定的datatable,数据已经变更,说明事件本身没有问题

getchange方法看起来返回的本来就是修改前的数据,

Tosp2012 发表于 2019-10-15 15:14:00

與AfterEdit事件無關,我試用CellChange事件,也是一樣的問題。
我在懷疑,C1FlexGrid編輯完後,是否要EndEdit類似的操作呢?
或者像 Me.txtLot_key.DataBindings("Text").BindingManagerBase.EndCurrentEdit()
這樣的語句,結束編輯操作。

Tosp2012 发表于 2019-10-15 15:15:34

Richard.Ma 发表于 2019-10-15 11:09
checkbox状态改变后,AfterEdit事件里面,用代码获取c1FlexGrid1.DataSource,也就是绑定的datatable,数据 ...

不知C1FlexGrid是否有類似的語句
Me.txtLot_key.DataBindings("Text").BindingManagerBase.EndCurrentEdit()

Richard.Ma 发表于 2019-10-15 17:38:03

为什么要用getchange方法获取table呢,编辑后datatable数据已经发生变化了,可以直接获取的,我没有明白你的getchange用途

Tosp2012 发表于 2019-10-16 09:11:55

Richard.Ma 发表于 2019-10-15 17:38
为什么要用getchange方法获取table呢,编辑后datatable数据已经发生变化了,可以直接获取的,我没有明白你 ...

我意思是,通过C1FlexGrid编辑单元格数据完成后,尚未离开单元格的情况下,界面已看到了值的变化,为啥么通过代码监视,发现绑定的dataTable的值还是旧值。
页: [1] 2
查看完整版本: c1flexgrid的afteredit问题