通过公式,设置多选下拉框联动默认全选,sql查询很多次的问题

如下图,城市选项数据集用到了,开始结束月份的参数

车系选项数据集用到了,开始结束月份和城市的参数

我控件值用的公式value("城市选项","city_name"),value("车系选项","finance_series_name")

确实能实现更新日期,全部默认全选

但是我在选择日期,未点确认的时候,他就会执行50次 城市选项的sql,1次车系的sql

我点击确认后,又会执行50次城市选项的sql,1次车系的sql,就很迷

我把所有控件的,初始化后,编辑后的事件全部去掉了

求解答?

我知道还有一种,给日期控件加编辑后事件,通过这种方式跑sql,再赋值的方式,但是sql比较复杂,所有报表的控件一个个写一遍,感觉成本比较高

var a=this.getValue();//获取当前下拉框选中值var b=_g().getParameterContainer().getWidgetByName("B");//获取复选框控件var c=FR.remoteEvaluate('=sql("FRDemo","SELECT distinct 省份 from 地图 where pid=\''+a+'\'",1)');//JS调用SQL函数,查询获取过滤后的省份信息 var e=c.toString().replace(/,/g,'\',\'')//将值转为字符串,同时转换成复选框所用格式setTimeout( function(){ b.setValue(e);}, 300 ); //延时300毫秒将值赋给复选框

image.png

类似这个区省市联动的时候,都默认全选

https://help.fanruan.com/finereport10.0/doc-view-1284.html

FineReport richart 发布于 2022-3-17 11:47 (编辑于 2022-3-17 15:03)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
axingLv6专家互助
发布于2022-8-13 12:30

编辑后调用js实现全选

JS实现下拉复选框默认全选-https://help.fanruan.com/finereport/doc-view-3783.html

this.options.form.getWidgetByName("xxx").doSelectAll();

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-3-17 11:51

为什么不直接用绑定数据集的方式而用公式??

  • richart richart(提问者) 我想要的是,修改日期后,城市,车系,默认全选 修改城市后,车系也全选
    2022-03-17 12:23 
  • Z4u3z1 Z4u3z1 回复 richart(提问者) 改SQL呗,为空则视为查询全部 ${if(len(城市)==0,\"\",\" and 城市 in (\'\"+城市+\"\')\")}
    2022-03-17 12:39 
  • 2关注人数
  • 427浏览人数
  • 最后回答于:2022-8-13 12:30
    请选择关闭问题的原因
    确定 取消
    返回顶部