通过参数隐藏报表

模板.frm


FineReport lincoder 发布于 2020-8-5 09:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
jongwangLv6中级互助
发布于2020-8-5 10:20(编辑于 2020-8-5 15:19)

具体问题描述是什么


如果是想通过策略下拉框隐藏的话,可以参考下面的方法:


可以给查询按钮加一个点击事件js:

var a = _g().parameterEl.getWidgetByName("策略").getValue();

if(a=="XXX"){ this.options.form.getWidgetByName('report0').setVisible(false);}

else if { this.options.form.getWidgetByName('report1').setVisible(false);}


可以参考下文档:

https://help.finereport.com/doc-view-1736.html


---------------------

你看下是不是这个效果:

5.frm

12.gif

-----------------------------------------------

------------查询后 隐藏----------


5.frm


把原先的策略和查询按钮中的js都清空哈,然后把下面的js写在body初始化事件中:

setTimeout(function(){
var a = _g().parameterEl.getWidgetByName("策略").getValue();
var arr = a.indexOf("配置");
var b = a.length
if(b !==0 && arr == -1){
	_g().getWidgetByName('REPORT1').setVisible(false);
	}
else  {
	_g().getWidgetByName('REPORT1').setVisible(true);
	}},80)


  • lincoder lincoder(提问者) 具体是我在策略里面加一个js然后会根据选择的策略值去隐藏下main的报表
    2020-08-05 13:24 
  • jongwang jongwang 回复 lincoder(提问者) 嗯嗯,需要分下情况,第一种情况:如果是直接通过下拉框选择后,即隐藏(不用点查询),那么就在策略下拉框编辑后事件写js:分两步,1.获取策略下拉框的值,2.根据这个值进行判断,当是什么情况的时候,隐藏什么报表块。第二种情况就是需要点击查询后,查询结果,隐藏某个报表块,就把这个js放在查询按钮的点击事件中
    2020-08-05 13:33 
  • lincoder lincoder(提问者) 回复 jongwang 试了没反应
    2020-08-05 13:41 
  • lincoder lincoder(提问者) 大佬你可以下一下模板然后在模板里改吗?我改了不对啊
    2020-08-05 13:46 
  • jongwang jongwang 回复 lincoder(提问者) 上传了模板你看下呢
    2020-08-05 14:08 
  • 2关注人数
  • 912浏览人数
  • 最后回答于:2020-8-5 15:19
    请选择关闭问题的原因
    确定 取消
    返回顶部