普通报表,根据控制面板选择参数来展示图表,选择一个参数就展示对应参数的图表,选择两个就展示两个,参数选择什么不固定,选择几个也不固定,怎么实现
这个,你图表固定,根据参数,设置条件属性隐藏显示图表
可以参考下面文档,传参数,有几个参数就显示几个图表
单表式主子报表:
https://help.fanruan.com/finereport/doc-view-335.html?source=4
数据集参数:
https://help.fanruan.com/finereport/doc-view-158.html
下面做了个示例
WorkBook1.zip
----------------------------------------------------------
在参数面板添加多选控件(如复选框组或下拉复选框),控件名需与数据集参数名一致
设置控件「返回值类型」为字符串,分隔符为逗号(如value1,value2)
ECharts图表的数据集SQL需使用in语句接收参数,例如:
SELECT * FROM table WHERE field IN (${param})
若参数为空时需展示全部数据,可设置默认值或SQL条件分支
通过FR.remoteEvaluate()实现参数传递与图表刷新:
// 在控件事件中触发图表刷新function refreshChart() {var params = this.getValue(); // 获取多选参数值FR.remoteEvaluate("param=" + params); // 传递到图表}
初始状态参数为空时展示全部数据
选择1个参数时渲染对应单系列图表,选择多个参数时自动扩展系列
参数传递限制
普通报表中仅支持通过FR.remoteEvaluate传参,不支持直接控件联动
性能优化
参数组合过多时建议限制最大可选数量
大数据量场景需启用分页或懒加载