<< Click to Display Table of Contents >> 限制过滤参数组件选中个数复制链接 |
1.概述
1.1 问题描述
出于性能考虑等方面原因,需要限制用户在筛选器中选择的选项数量,并给与用户提示。
1.2 实现思路
通过过滤或参数组件的getSelectedObjects属性,获取用户勾选选项,计算数量并做逻辑判断。
2.示例
1)制作报表如下,拖入列表参数组件并绑定产品名称。
2)进入报告右侧【报告 > 高级 > 脚本】,在脚本变化时运行中,输入以下脚本:
var a = 列表参数1.getSelectedObjects();
var arr = new Array();
for(var i =0;i<a.length;i++){
arr.push(a[i])
}
if(a.length>3){
arr.pop();//pop()函数是删掉数组最后一个元素。尝试了一下,如果直接用a.pop()不生效
列表参数1.setSelectedObjects(arr,STRING)
debug("选项数量不得超过3个");
}
3)保存报告。预览和查看效果如下,