12下一页
发帖
查看: 16803|回复: 12

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

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-4-13 09:36:28 | 显示全部楼层 |阅读模式
本帖最后由 zningsc 于 2023-4-13 09:36 编辑

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

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

加载后如图所示

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

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

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-4-13 17:04:02 | 显示全部楼层
在考核结果组件的change事件里写就可以了
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-4-13 17:53:39 | 显示全部楼层
谢谢,在考核结果的控件的change事件确实能触发,但有一个问题,我是需要触发的时候调取合计数,但合计数的刷新晚于change,这样导致取到的合计数滞后

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

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-4-14 09:53:20 | 显示全部楼层
在change事件里通过   this.form.get("数据表格id")._loadTotal().合计列字段id;     获取合计
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 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,不知道是什么原因




本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-4-14 14:51:47 | 显示全部楼层
但是我同一个页面中的,另一个容器中的数据表格中变化触发的事件就不会出现这种情况,图中我在下面的数据表格的考核结果中输入后,最后的合计不会变化

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-4-14 17:11:16 | 显示全部楼层
很大可能是您其他的地方也给这个字段赋值了,哪里自动触发了赋值功能
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-4-14 18:02:57 | 显示全部楼层
论坛管理员 发表于 2023-4-14 17:11
很大可能是您其他的地方也给这个字段赋值了,哪里自动触发了赋值功能

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


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

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-4-17 09:55:45 | 显示全部楼层

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

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-4-17 10:20:37 | 显示全部楼层
论坛管理员 发表于 2023-4-17 09:55
在赋值前(setData前),debugger看一下您这个变量值hzjg是多少
去设计查找里查一下赋值的代码,确定一下 ...

非常感谢!
回复

使用道具 举报

12下一页
发帖

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread