示例说明
在透视分析中,希望指定从某一列开始设置列宽,可以通过宏代码实现。
使用宏之前的效果:
使用宏之后的效果:
注意:被修改列的宽度属性值不用修改。
设置方法
- 在“分析展现”节点下,创建一张透视分析。
- 选中透视分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为INSIGHT;事件为onRenderTable;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | INSIGHT | onRenderTable |
宏代码
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
function main(insight) {
//获取参数值
var starIndex = 0; //做修改的起始列,从0开始
var colWidth = "150px"; //修改的列宽大小
var rowIndex = 0; //行序号,序号从0开始,注:如果是2重表头的话,将0修改位1,3重表头将其修改为2,以此类推...
modifyColumnWidth(insight, starIndex, colWidth, rowIndex);
}
function modifyColumnWidth(insight, starIndex, colWidth, rowIndex) {
var grid = insight.grid;
var maxCol = grid.getColCount(); //总列数
for (var m = starIndex; m < maxCol; m++) {
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) {}
}
} |
关键对象总结
- 获取单元格对象:grid.getCell(m, cellIndex);
- 设置列宽:cell.firstChild.style.width = colWidth;
资源下载
资源:migrate.xml
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |