szhtest 发表于 2024-3-5 12:01:51

请问数据表格的'排序'功能是如何进行排序的?支持自定义吗

本帖最后由 szhtest 于 2024-3-6 09:23 编辑



如图,不太理解数据表格中开启的这个排序是根据什么的排序?

我们是否支持自定义字段的排序?能否写事件脚本固定排序逻辑?


我目前是在流程的“活动完成后”的脚本中对表格org字段进行排序后将表格数据重新赋值(能成功):
// 获取当前表格数据
var dataToSend = this.data.datatable;

// 对 dataToSend.data 数组进行排序
dataToSend.data.sort(function(a, b) {
    // 由于 "org" 是一个数组,我们需要先获取第一个元素
    var orgA = a.org && a.org[0] ? a.org[0] : { name: '' };
    var orgB = b.org && b.org[0] ? b.org[0] : { name: '' };

    // 使用 localeCompare 进行基于字符串的比较
    return orgA.name.localeCompare(orgB.name);
});


this.data.datatable.data = dataToSend.data;
print(JSON.stringify(dataToSend))


官方还有没有其他方法?比如在表单事件里直接对这个数据表格进行限制

我在表单的表格postload事件写相似的排序代码时,直接报错Maximum call stack size exceededat RegExp.exec (<anonymous>)



xadmin 发表于 2024-3-6 09:48:44

开启排序后,数据表格最后一列有个排序箭头,可以手工排序

szhtest 发表于 2024-3-6 10:10:20

本帖最后由 szhtest 于 2024-3-6 10:12 编辑

xadmin 发表于 2024-3-6 09:48
开启排序后,数据表格最后一列有个排序箭头,可以手工排序
明白了。:handshake可有考虑新版本做一般表格组件常见的字段排序功能,比如字符串、日期排序等等?或者如果我要在表单事件里直接对表格进行限制应该怎样写

xadmin 发表于 2024-3-7 13:16:47

好的,反馈给研发人员

szhtest 发表于 2024-3-7 15:08:42

xadmin 发表于 2024-3-7 13:16
好的,反馈给研发人员

:handshake
页: [1]
查看完整版本: 请问数据表格的'排序'功能是如何进行排序的?支持自定义吗