1. 版本说明
设计器版本 |
---|
10.0 |
2. 描述
决策报表组件支持隐藏功能。除了通过界面设置是否可见,还可以通过js设置。
3. 思路
通过js实现组件的隐藏和显示:
this.options.form.getWidgetByName('report0').setVisible(boolean); //显示或隐藏报表块
4. 操作步骤
4.1 制作模板
打开模板%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\analytics\financial\2016年上半年收入分析.frm
拖入两个按钮控件,分别修改按钮名称为“隐藏”、“显示”,如下图:
4.2 添加按钮点击事件
1)隐藏
选中隐藏按钮,添加点击事件,点击即可隐藏report0组件:
js代码如下:
<span style="color:#334356"><span style="color:#1bc1a1"><img data-cke-saved-src="http://help.finereport.com/js/clipboard/clippy.png" src="http://help.finereport.com/js/clipboard/clippy.png" alt="Copy to clipboard" class="clippy" /><code><span style="color:teal">this</span>.options.form.getWidgetByName(<span style="color:#dd1144">'report0'</span>).setVisible(false); <span style="color:#999988"><em>//隐藏报表块</em></span></code></span></span>
注:report0是报表块名,如果是需要隐藏图表块,换成图表块名即可。
2)显示
选中显示按钮,添加点击事件,点击即可显示report0组件:
js代码如下:
<span style="color:#334356"><span style="color:#1bc1a1"><img data-cke-saved-src="http://help.finereport.com/js/clipboard/clippy.png" src="http://help.finereport.com/js/clipboard/clippy.png" alt="Copy to clipboard" class="clippy" /><code><span style="color:teal">this</span>.options.form.getWidgetByName(<span style="color:#dd1144">'report0'</span>).setVisible(true); <span style="color:#999988"><em>//显示报表块</em></span></code></span></span>
注:上述点击事件的写法,只适用于按钮控件在body内,当按钮控件在参数面板内时,需要使用另外一种写法
<span style="color:#334356"><span style="color:#1bc1a1"><img data-cke-saved-src="http://help.finereport.com/js/clipboard/clippy.png" src="http://help.finereport.com/js/clipboard/clippy.png" alt="Copy to clipboard" class="clippy" /><code>_g().getWidgetByName(<span style="color:#dd1144">'report0'</span>).visible(); <span style="color:#999988"><em>//显示</em></span>
_g().getWidgetByName(<span style="color:#dd1144">'report0'</span>).invisible(); <span style="color:#999988"><em>//隐藏</em></span></code></span></span>
4.3 保存与预览
点击隐藏按钮,report0报表块即被隐藏,再点击显示按钮,report0报表块即再次显示出来。
5. 注意事项
1)该功能只支持报表块、图表块的隐藏
2)该功能支持pc端,h5和app下9.0里支持
3)组件不可见时,导出时必须增加sessionID,不然连同隐藏组件会一起导出
4)自适应布局下,组件隐藏效果如上,绝对布局下,组件隐藏效果如下:
6. 预览效果
6.1 PC端预览效果
6.2 移动端预览效果
1)APP预览效果
2)H5预览效果
7. 已完成模板
模板效果在线查看请点击:JS隐藏决策报表内报表块或图表块.frm
已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\10-JS隐藏决策报表内报表块或图表块.frm