示例说明
在灵活分析(带参数)中,实现“初始打开报表时隐藏所有字段,当切换参数时显示特定的字段”。
- 初始打开报表,隐藏所有字段。如下图所示:
- 参数值切换至“全部”时,显示“销售区域、订单数、销售额”字段。如下图所示:
- 参数值切换至“东北”时,只显示“销售区域、销售额”字段。如下图所示:
设置方法
(1) 在资源定制中,创建一张灵活分析(带参数);
(2) 在编辑宏中,对该报表编写两个宏代码:一个用于实现“初始打开报表时,隐藏所有字段”,一个用于实现“当切换参数时显示特定的字段”。
宏1实现说明:初始打开报表时,隐藏所有字段
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRender |
宏代码
function main(simpleReport, simpleReportContext) { var grid = simpleReport.grid; hideAllFields(grid); // 先隐藏所有字段 } // 隐藏所有字段 function hideAllFields(grid) { var headerRows = grid.getHeaderRows(); // 得到表头的行数 var rowCount = grid.getRowCount(); // 得到行数 var colCount = grid.getColCount(); // 得到表格列数 for (var i = 0; i < colCount; i++) { grid.setColVisible(i, false); } }
宏2实现说明:切换参数时显示特定的字段
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRenderTable |
宏代码
关键对象总结
- 根据参数名获取参数值:simpleReport.getCurrentParamValue();
- 显示报表对应字段:showFields.push("销售区域")
- 隐藏报表对应字段:grid.setColVisible(i, false)
- 得到表头的行数:grid.getHeaderRows()
- 得到行数:grid.getRowCount()
- 得到表格列数:grid.getColCount()