1132485778 发表于 2023-7-12 19:10:36

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

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



论坛管理员 发表于 2023-7-13 10:00:59

您怎么做的填充?

1132485778 发表于 2023-7-13 10:31:08

论坛管理员 发表于 2023-7-13 10:00
您怎么做的填充?
var data_3 = this.data.datatable_3.data;
data_3 = {...}
我是直接拿到这一行的数据直接设置的,这种方式是不是不太妥
正确的方式是什么,下面这样?可以一次设置这一行多个元素的值吗?
//获取当前组件所在数据模板/数据表格的行(条目)对象
var line = this.target.parentLine;
//获取当前字段所在行下标
var index = line.getIndex();
//获取当前字段所在条目的subject字段的值
var data = line.getModule("subject").getData();
//设置当前字段所在条目的subject字段的值
line.getModule("subject").setData("test1");

1132485778 发表于 2023-7-13 10:53:44

上面的回复的单个设置方式是可以的,感觉一个一个设置是有点麻烦。
直接 line.setData({...})也会退出编辑模式。
想知道如何触发 editLine 时事件

论坛管理员 发表于 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");
这个不会触发编辑完成的,赋值需要使用这种方式
页: [1]
查看完整版本: 数据表格中(datatable) 如何手动触发 editLine 事件