示例说明
在灵活分析(带参数)中,实现“初始打开报表时隐藏所有字段,当切换参数时显示特定的字段”。
设置方法
(1) 在展现定制中,创建一张灵活分析(带参数);
(2) 在宏管理中,对该报表编写两个宏代码:一个用于实现“初始打开报表时,隐藏所有字段”,一个用于实现“当切换参数时显示特定的字段”。
宏实现说明
初始打开报表时,隐藏所有字段
宏类型
类型 | 对象 | 事件 |
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); } } |
切换参数时显示特定的字段
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRenderTable |
宏代码
function main(simpleReport, simpleReportContext) { //获取参数"销售区域"当前的值 var param = simpleReport.getCurrentParamValue("销售区域"); var grid = simpleReport.grid; hideAllFields(grid); // 先隐藏所有字段 var showFields = []; if (param == "全部") { // "销售区域"值为"全部"时显示"销售区域"、"订单数"字段和"销售额"字段 showFields.push("销售区域"); showFields.push("订单数"); showFields.push("销售额"); } else if (param == "东北") { // "销售区域"值为"东北"时显示"销售区域"、"销售额"字段 showFields.push("销售区域"); showFields.push("销售额"); } else if (param == "华北") { // "销售区域"值为"华北"时显示"销售区域"、"订单数"字段 showFields.push("销售区域"); showFields.push("订单数"); } if (showFields.length > 0) { for (var i = 0; i < showFields.length; i++) { var alias = showFields[i]; var index = grid.getFieldIndexByAlias(alias); grid.setColVisible(index, true);//显示相关字段,如果把第二个参数设置为false,则是隐藏字段。 } } } // 隐藏所有字段 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); } } |
关键对象总结