在透视分析中,隐藏一列。本宏只对清单报表生效(没有展开、收缩操作的报表)。使用宏之前的效果:
使用宏之后的效果:
类型 | 对象 | 事件 |
---|---|---|
ClientSide | INSIGHT | onRenderTable |
function main(insight) { var cellIndex = 1; //隐藏列序号,序号从0开始。 var newtables = new Array(); var table = insight.grid.mainTable; var maxRow = table.rows.length; for (var i = 0; i < maxRow; i++) { newtables.push(new Array()); } var tr = table.tBodies[0].firstChild; var rowIndex = 0; while (tr) { if (tr.tagName == "TR") { var td = tr.firstChild; var columnIndex = 0; var row = newtables[rowIndex]; while (row[columnIndex]) columnIndex++; while (td) { if (td.tagName == "TD") { for (var x = 0; x < td.rowSpan; x++) { for (var y = 0; y < td.colSpan; y++) { newtables[rowIndex + x][columnIndex + y] = td; } } while (row[columnIndex]) columnIndex++; } td = td.nextSibling; } } tr = tr.nextSibling; rowIndex++; } var length = newtables.length; for (var i = 0; i < length; i++) { var nn = newtables[i][cellIndex]; nn.style.display = "none"; /*隐藏多列处理,直接找到对应的列并隐藏 var nn = newtables[i][2]; nn.style.display = "none";*/ } table = newtables; } |