[常用脚本]
设置列表过滤组件默认值选中倒序排动态前五个值
本帖最后由 happypanda 于 2020-10-30 09:34 编辑
列表过滤组件,文本类型如何设置组件默认值选中倒序排列后的前五个值?
下图是帮助文档中过滤组件默认值的脚本,但是是固定值,如何将动态值,倒序排列的五个值为默认选中值?
|
|
|
|
|
永洪tech-chen
显示全部楼层
发表于 2020-10-29 14:49:06
可以使用Top N排序
在表格绑定的字段的下拉列表中选择【更多排序】-【高级排序】,使该字段按照指定字段进行降序排序,然后通过脚本把文本输入框的值传递给高级排序的【Top N】项。
|
|
|
|
|
π
显示全部楼层
发表于 2020-10-29 14:50:48
|
|
|
|
happypanda
显示全部楼层
发表于 2020-10-29 15:23:20
我修改了下我的问题,这个脚本有参考吗,我在帮助文档里面只找到了固定值,没有变化值的脚本 |
|
|
|
|
happypanda
显示全部楼层
发表于 2020-10-29 15:25:47
你的头像有点吓人昂 |
|
|
|
|
美滋滋
显示全部楼层
发表于 2020-10-30 11:49:24
本帖最后由 lijie 于 2020-10-30 11:57 编辑
var listdata = 列表参数1.getObjects()
var listcnt = listdata.length
var arr = []
if (listcnt > 5) {
listcnt = 5
}
for (i=0;i<listcnt;i++) {
arr.push(listdata[i][0)
}
列表参数1.setSelectedObjects(arr,STRING)
|
|
|
|
|
happypanda
显示全部楼层
发表于 2020-10-30 14:49:36
谢谢,这个能实现选择前五个了,但是新的问题出现了,不能进行其他选择了,全选和反选失效了,并且只能选择五个,选择多了,或者选择少了,都不行,还是五个选中了,这个要怎么处理呀~ |
|
|
|
|
π
显示全部楼层
发表于 2020-11-2 00:05:06
|
|
|
|
美滋滋
显示全部楼层
发表于 2020-11-2 08:29:53
你在脚本中增加一个判定,是否是首次装载,如果是首次装载则执行上面那段脚本,如果不是则不执行 |
|
|
|
|
美滋滋
显示全部楼层
发表于 2020-11-2 08:49:09
还是给你实例吧。
装载时运行增加变量定义
var first_load = true
运行变化时增加判定:
if (first_load) {
上面我写的那一堆代码
first_load = false
}
|
|
|
|
|