找回密码
 立即注册

QQ登录

只需一步,快速开始

Tosp2012

注册会员

4

主题

28

帖子

64

积分

注册会员

积分
64

活字格认证

最新发帖
Tosp2012
注册会员   /  发表于:2019-10-14 20:44  /   查看:6152  /  回复:12
c1flexgrid绑定datatable,其中datatable的一列为选择项
问题:我选择完成后,在c1flexgrid的afteredit事件中发现datatable对应的列值还是原来的值,没有改变;如果我将鼠标点其他地方后,这时选中的值才能改变。
请问,如何用代码让改变的值马上生效?

12 个回复

倒序浏览
Tosp2012
注册会员   /  发表于:2019-10-14 20:52:00
沙发
编辑单元格完成后,已触发afteredit事件,且焦点还在原来的单元格内时,这时候单元格的值还未生效,只有改变单元个焦点后,修改后的值才生效。
回复 使用道具 举报
Tosp2012
注册会员   /  发表于:2019-10-14 20:54:17
板凳
由于这个afteredit事件特性,导致修改后的值,无法用datatable.getchange获取到修改后的值
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-10-14 23:35:12
地板
我理解你这边的问题了,明天早上帮你验证
回复 使用道具 举报
Tosp2012
注册会员   /  发表于:2019-10-15 09:47:34
5#
C:\Users\Administrator\Desktop\SysError

本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-10-15 11:09:35
6#
checkbox状态改变后,AfterEdit事件里面,用代码获取c1FlexGrid1.DataSource,也就是绑定的datatable,数据已经变更,说明事件本身没有问题

getchange方法看起来返回的本来就是修改前的数据,
回复 使用道具 举报
Tosp2012
注册会员   /  发表于:2019-10-15 15:14:00
7#
與AfterEdit事件無關,我試用CellChange事件,也是一樣的問題。
我在懷疑,C1FlexGrid編輯完後,是否要EndEdit類似的操作呢?
或者像 Me.txtLot_key.DataBindings("Text").BindingManagerBase.EndCurrentEdit()
這樣的語句,結束編輯操作。
回复 使用道具 举报
Tosp2012
注册会员   /  发表于:2019-10-15 15:15:34
8#
Richard.Ma 发表于 2019-10-15 11:09
checkbox状态改变后,AfterEdit事件里面,用代码获取c1FlexGrid1.DataSource,也就是绑定的datatable,数据 ...

不知C1FlexGrid是否有類似的語句
Me.txtLot_key.DataBindings("Text").BindingManagerBase.EndCurrentEdit()
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-10-15 17:38:03
9#
为什么要用getchange方法获取table呢,编辑后datatable数据已经发生变化了,可以直接获取的,我没有明白你的getchange用途
回复 使用道具 举报
Tosp2012
注册会员   /  发表于:2019-10-16 09:11:55
10#
Richard.Ma 发表于 2019-10-15 17:38
为什么要用getchange方法获取table呢,编辑后datatable数据已经发生变化了,可以直接获取的,我没有明白你 ...

我意思是,通过C1FlexGrid编辑单元格数据完成后,尚未离开单元格的情况下,界面已看到了值的变化,为啥么通过代码监视,发现绑定的dataTable的值还是旧值。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部