zningsc 发表于 2023-4-13 09:36:28

数据表格中开启多行编辑时,如何获取输入后触发事件

本帖最后由 zningsc 于 2023-4-13 09:36 编辑

数据表格开启了多行编辑模式

表单afterload事件通过addline添加默认的行数

加载后如图所示

现在想在考核结果那里输入分值后触发事件,不知道用哪个方法可以获取到

看了一下api,多行编辑下只能用下面的获取,但我尝试用this.event.type获取都是addtype,不知道哪种情况下才是editmodule,或者是用其他哪个API可以获取到触发的事件

论坛管理员 发表于 2023-4-13 17:04:02

在考核结果组件的change事件里写就可以了

zningsc 发表于 2023-4-13 17:53:39

谢谢,在考核结果的控件的change事件确实能触发,但有一个问题,我是需要触发的时候调取合计数,但合计数的刷新晚于change,这样导致取到的合计数滞后

比如,之前都是0,合计也是0,当我在第一行输入5,change事件触发,取到合计数此时是0,change触发完后合计数才变成5,请问这种怎么处理呢

论坛管理员 发表于 2023-4-14 09:53:20

在change事件里通过   this.form.get("数据表格id")._loadTotal().合计列字段id;   获取合计

zningsc 发表于 2023-4-14 14:34:57

本帖最后由 zningsc 于 2023-4-14 14:43 编辑

论坛管理员 发表于 2023-4-14 09:53
在change事件里通过   this.form.get("数据表格id")._loadTotal().合计列字段id;   获取合计 ...
确实是可以取到合计了,但是有个问题呢,我在下面的结果处是将合计取出来后加上100得到最后分数,跟踪发现,当输入5后,通过_loadTotal().获取到5,然后加100,结果为105,到这里都是正确的,但是再继续执行下去,途中红框那里执行了两步后那个结果会自动变成5,不知道是什么原因




zningsc 发表于 2023-4-14 14:51:47

但是我同一个页面中的,另一个容器中的数据表格中变化触发的事件就不会出现这种情况,图中我在下面的数据表格的考核结果中输入后,最后的合计不会变化

论坛管理员 发表于 2023-4-14 17:11:16

很大可能是您其他的地方也给这个字段赋值了,哪里自动触发了赋值功能

zningsc 发表于 2023-4-14 18:02:57

论坛管理员 发表于 2023-4-14 17:11
很大可能是您其他的地方也给这个字段赋值了,哪里自动触发了赋值功能

我检查了,只有考核结果那个字段的变化才有对最后得分的赋值,而且我上面给你截图的是F12中输入考核结果数字后触发change时debugger逐个断点执行的,并没有到其他任何控件去
到这里从0变成是105


到最后一步前都是105,最后一步变成5的

论坛管理员 发表于 2023-4-17 09:55:45


在赋值前(setData前),debugger看一下您这个变量值hzjg是多少
去设计查找里查一下赋值的代码,确定一下是否有其他地方赋值

zningsc 发表于 2023-4-17 10:20:37

论坛管理员 发表于 2023-4-17 09:55
在赋值前(setData前),debugger看一下您这个变量值hzjg是多少
去设计查找里查一下赋值的代码,确定一下 ...

非常感谢!
页: [1] 2
查看完整版本: 数据表格中开启多行编辑时,如何获取输入后触发事件