Foxtable(狐表)用户栏目专家坐堂 → 克隆行的一个BUG


  共有6500人关注过本帖树形打印复制链接

主题:克隆行的一个BUG

帅哥哟,离线,有人找我吗?
rjh4078
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3375 积分:24904 威望:0 精华:0 注册:2012/3/26 21:47:00
克隆行的一个BUG  发帖心情 Post By:2022/8/9 9:05:00 [只看该作者]

在子表的数量datacolchanged事件中 写入代码: e.datarow.getparentrow("父表")("父表字段")=e.datatable.compute("sum(子表字段)","关联列")
子表的datarowadded事件中加入了事件 e.datarow("子表字段")=1
如果使用新增命令 触发的计算结果没问题
如果使用克隆命令 计算的结果会少克隆的那行

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/8/9 9:35:00 [只看该作者]

克隆行触发事件的顺序是DataRowAdding => datacolchanged => DataRowAdded。克隆时datacolchanged事件触发的时候新行还没有添加到表里。这个不是bug,处理机制本身就是如此。

【子表的datarowadded事件中加入了事件 e.datarow("子表字段")=1】,如果datacolchanged里有判断"子表字段"列,肯定是会计算的,除非克隆前被克隆的行本身"子表字段"的值就是1,再赋值1,数据没有变化,所以【e.datarow("子表字段")=1】不会触发datacolchanged

 回到顶部