...
在透视分析中,动态设置列的宽度。使用宏之前的效果:
使用宏之后的效果:
注意:被修改列的宽度属性值不用修改。
设置方法
- 在展现定制中,创建一张透视分析报表。
- 切换到 定制 -> 宏管理 页面,双击此灵活分析进入报表宏界面。在资源定制节点下,创建一张透视分析。
- 选中透视分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为INSIGHT;事件为onRenderTable;并把下面宏代码复制到代码区域。
...
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
function main(insight) { //获取参数值 var colWidth = "60px"; for (var i in insight.params) { var param = insight.params[i]; if (param.alias == "发货人") { if (param.value == "刘先生") { colWidth = "50px"; } break; } } var grid = insight.grid; var starIndex = 2; //数据开始列,从0开始 var maxCol = grid.getColCount(); //总列数 for (var m = starIndex; m < maxCol; m++) { var rowIndex = 0; //行序号,序号从0开始。行序号,序号从0开始,注:如果是2重表头的话,将0修改位1,3重表头将其修改为2,以此类推... var cell = grid.getCell(rowIndex, m); //获取表头列 cell.style.width = colWidth; cell.firstChild.style.width = colWidth; //设置列宽 //305版本需要添加以下代码 try { insight.elem_tablepanel.firstChild.firstChild.childNodes[m].style.width = colWidth; } catch(e) {} } } |
...