查看: 1522|回复: 4

数据表格中(datatable) 如何手动触发 editLine 事件

升级   12.33%

11

主题

9

回帖

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2023-7-12 19:10:36 | 显示全部楼层 |阅读模式
o2oa 版本:8.0.1
场景:
在数据表格中有下拉框中选择后会填充一部分数据,还有一部分需要手动输入。现在问题是选择后数据是填充上了,但是这一行变成输入完成了,想要编辑的话需要手动再点一下编辑,感觉有点麻烦。我的想法是在填充后直接触发editLine 事件,不知道这个思路对不对,想请教下在数据表格中(datatable) 如何手动触发 editLine 事件



本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37423
发表于 2023-7-13 10:00:59 | 显示全部楼层
您怎么做的填充?
回复

使用道具 举报

升级   12.33%

11

主题

9

回帖

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2023-7-13 10:31:08 | 显示全部楼层

var data_3 = this.data.datatable_3.data;
data_3[index] = {...}
我是直接拿到这一行的数据直接设置的,这种方式是不是不太妥
正确的方式是什么,下面这样?可以一次设置这一行多个元素的值吗?
[JavaScript] 纯文本查看 复制代码
//获取当前组件所在数据模板/数据表格的行(条目)对象
var line = this.target.parentLine;
//获取当前字段所在行下标
var index = line.getIndex();
//获取当前字段所在条目的subject字段的值
var data = line.getModule("subject").getData();
//设置当前字段所在条目的subject字段的值
line.getModule("subject").setData("test1");
回复

使用道具 举报

升级   12.33%

11

主题

9

回帖

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2023-7-13 10:53:44 | 显示全部楼层
上面的回复的单个设置方式是可以的,感觉一个一个设置是有点麻烦。
直接 line.setData({...})  也会退出编辑模式。
想知道如何触发 editLine 时事件
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37423
发表于 2023-7-14 09:48:28 | 显示全部楼层
//获取当前组件所在数据模板/数据表格的行(条目)对象
var line = this.target.parentLine;
//获取当前字段所在行下标
var index = line.getIndex();
//获取当前字段所在条目的subject字段的值
var data = line.getModule("subject").getData();
//设置当前字段所在条目的subject字段的值
line.getModule("subject").setData("test1");
这个不会触发编辑完成的,赋值需要使用这种方式
回复

使用道具 举报

发表回复

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

本版积分规则

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