普通报表——参数面板

想问问普通报表中,不同的sheet是对应的同一个参数面板,怎么操作能实现不同sheet对应的参数面板能够取不同的参数值而互不影响,比如下图:

sheet1:

image.png

sheet2:

image.png

上面是同一个报表模板下,切换不同sheet,参数面板的参数值能够不相同

不同sheet下,控件能够取不同的值是因为使用了js吗?点击某个sheet就把不相关的控件隐藏,另外一个相关空间在相同位置显示,这样子的吗?

不怎么会写这个js

FineReport Leou 发布于 2021-9-14 14:06 (编辑于 2021-9-14 14:09)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
ColdmanLv6高级互助
发布于2021-9-14 14:22
$(".fr-sheetbutton-container").click(function() //切换sheet时     {         var a = contentPane.$contentPane.data('TabPane').tabBtns[contentPane.selectedIndex].options.name; //获取当前sheet的名字         if (a == "sheet1") {                 contentPane.parameterEl.getWidgetByName("s1").setVisible(true);                 contentPane.parameterEl.getWidgetByName("k1").setVisible(true);                 contentPane.parameterEl.getWidgetByName("s2").setVisible(false);                 contentPane.parameterEl.getWidgetByName("k2").setVisible(false);             }else if(a == "sheet2"){                 contentPane.parameterEl.getWidgetByName("s1").setVisible(false);                 contentPane.parameterEl.getWidgetByName("k1").setVisible(false);                 contentPane.parameterEl.getWidgetByName("s2").setVisible(true);                 contentPane.parameterEl.getWidgetByName("k2").setVisible(true);                                   }                 });

2020-09-28_11-22-45.gif

  • Leou Leou(提问者) 是添加到模板web属性 那里的加载结束事件对吗
    2021-09-14 16:19 
  • Coldman Coldman 回复 Leou(提问者) 是的
    2021-09-14 16:21 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-9-14 14:14

参考JS实现根据当前sheet隐藏参数面板-https://help.fanruan.com/finereport/doc-view-4105.html

他是隐藏参数面板,改成隐藏控件的js就可以

最佳回答
0
IceBall09Lv6中级互助
发布于2021-9-14 14:16(编辑于 2021-9-14 15:52)

1599116396481266.cpt

setTimeout(function(){ $(".fr-sheetbutton-container").click(function() //切换sheet时     {         var a = contentPane.$contentPane.data('TabPane').tabBtns[contentPane.selectedIndex].options.name; //获取当前sheet的名字         if (a == "按报告期" || a == "按季度" || a == "报告期同比" ||a == "季度环比") {        contentPane.parameterEl.getWidgetByName("LabelDYEAR_begin").setVisible(false);        contentPane.parameterEl.getWidgetByName("LabelDYEAR_end").setVisible(false);        contentPane.parameterEl.getWidgetByName("DYEAR_begin").setVisible(false);        contentPane.parameterEl.getWidgetByName("DYEAR_end").setVisible(false); //       contentPane.parameterEl.getWidgetByName("BZ").setVisible(true);        contentPane.parameterEl.getWidgetByName("LabelDYEAR").setVisible(true);        contentPane.parameterEl.getWidgetByName("DYEAR").setVisible(true);             }else if(a == "按年度" || a == "年度同比"){ //       contentPane.parameterEl.getWidgetByName("COMPANY_CODE").setVisible(true);        contentPane.parameterEl.getWidgetByName("LabelDYEAR_begin").setVisible(true);        contentPane.parameterEl.getWidgetByName("LabelDYEAR_end").setVisible(true);        contentPane.parameterEl.getWidgetByName("DYEAR_begin").setVisible(true);        contentPane.parameterEl.getWidgetByName("DYEAR_end").setVisible(true); //       contentPane.parameterEl.getWidgetByName("BZ").setVisible(true);        contentPane.parameterEl.getWidgetByName("LabelDYEAR").setVisible(false);          contentPane.parameterEl.getWidgetByName("DYEAR").setVisible(false);                   }      }); },100);

  • Leou Leou(提问者) 兄弟,我是想点击同意个报表下,切换sheet后,参数面板的控件显示与隐藏
    2021-09-14 15:40 
  • IceBall09 IceBall09 回复 Leou(提问者) 噢噢噢噢 重新写了一个
    2021-09-14 15:52 
  • IceBall09 IceBall09 回复 Leou(提问者) 记得数据集里面 写参数的时候 不要写成同一个参数
    2021-09-14 15:53 
  • IceBall09 IceBall09 回复 Leou(提问者) 然后刚打开报表的时候记得先把后面sheet的控件设置成不可见
    2021-09-14 15:55 
  • Leou Leou(提问者) 回复 IceBall09 好的,谢谢你。但是因为有其他人先说了这个方法,所以我不能把你的回答当做最佳回答了,抱歉哈。
    2021-09-14 20:03 
  • 5关注人数
  • 550浏览人数
  • 最后回答于:2021-9-14 15:52
    请选择关闭问题的原因
    确定 取消
    返回顶部