(该宏代码已验证适用于V10.5.8 旧版透视分析,由于宏代码在特定场景下可能存在限制,如果与实际应用场景不完全匹配,请根据具体需求自行调整相关代码,以确保其满足实际使用要求。)
打开透视分析,当数据量较大时,希望每次打开报表都默认显示收缩状态,可以通过宏代码实现。
行区字段设置可参考:透视分析如何实现表格默认收缩效果?
但列区字段是不生效的,可以如何实现呢?
在“分析展现”节点下,创建一张透视分析。
选中透视分析,右键选择 编辑宏 进入报表宏界面。
类型 | 对象 | 事件 |
---|---|---|
ClientSide | INSIGHT | onRenderTable |
function main(insight) { var grid = insight.grid; var headSize = grid.getColumnAreaSize(); var rowLen = grid.mainTable.rows.length; var closedColIndex = 0; // 从0开始计数,需要收起的列号 if (headSize < rowLen) { var cell = grid.mainTable.rows[headSize].cells[closedColIndex]; insight.grid.doFoldWholeField(cell); } var colLen = grid.mainTable.rows[0].cells.length; var closedIndex2 = headSize; // 从headSize开始计数,需要收起的列号 while (closedIndex2 < colLen) { var cell = grid.mainTable.rows[0].cells[closedIndex2]; insight.grid.doColFold(cell); closedIndex2++; } } |