找文章 / 找答案
精选问答 更多内容

<永洪tech>批量提交报表中脚本设置筛选组件默认值的处理

永洪tech-Bella白银一 显示全部楼层 发表于 2018-8-3 16:00:47 |阅读模式 打印 上一主题 下一主题
在报表中做批量提交是一个咱们最佳实践推荐的方式,可以提升报表的性能,特别是在咱们报表中筛选项比较多的情况下。很多情况,咱们并不是希望选一个筛选项,加载一遍数据,而是希望选完所有条件后点击查询按钮,查出想要的数据,这种情况非常适合使用批量提交哦,链接:http://www.yonghongtech.com/webb ... F%E6%8F%90%E4%BA%A4。但是如果咱们的筛选条件用脚本设置了默认值,那么直接做批量提交会遇到问题哦,需要额外处理一下。有需要的小公举接着往下看。
首先看一个错误的例子:有脚本设置筛选条件默认值的情况下直接做批量提交,效果如下:
(比如设置了列表过滤1使用脚本:列表过滤1.setSelectedObjects(['伯爵茶'],STRING),默认选中'伯爵茶',查看的时候,当选了其他产品,然后点击提交按钮的时候,产品种类又变成了“伯爵茶”,其他选中的值,自动没了)

GIF.gif

很多小伙伴也有遇到一样的情况吧,不管筛选组件是啥,列表过滤,文本参数,或者是其他,都是一样的,只要 脚本设置了默认值,并用了批量提交,就会有这种情况。那么是不是这两个方式不能兼容呢,回答是肯定的,当然可以。方式如下:


1.编辑报告的时候编辑参数,添加一个参数,参数名type,数据类型:整数,默认值:0,并取消弹出。

15.png

2.修改仪表盘-装载时运行脚本中,给筛选条件设置默认值的脚本,比如设置默认值的脚本是:列表过滤1.setSelectedObjects(['伯爵茶'],STRING),修改为如下:
if(param['type']==0){
列表过滤1.setSelectedObjects(['伯爵茶'],STRING)
}

//意思是只有在参数type为0时,才设置列表参数1的默认值为“伯爵茶”。由于参数的默认值是0,那么打开报表的时候这个脚本是会执行的。


3.提交按钮,提交时运行脚本由原来的refreshData()变成:
param['type']=1     
refreshData()
//设置参数type的值为1,也就是说提交的时候不执行给列表过滤1复制的脚本,也就不会出点点击按钮,选中的值被清空了,又变成了默认值的情况。


就只有这三步哟,已经都完成了,现在预览或查看看看效果。

GIF2.gif

看到这里应该明白为什么咱们批量提交+筛选组件设置默认值为什么有问题,以及需要怎么修改了吧,不明白的从头再来一遍哟。

回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部