页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 2 下一个 »

示例说明

在透视分析中,动态设置列的宽度。使用宏之前的效果:

使用宏之后的效果:

注意:被修改列的宽度属性值不用修改。

 

 


设置方法

  1. 在资源定制节点下,创建一张透视分析。
  2. 选中透视分析,右键选择 编辑宏 进入报表宏界面。
  3. 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为INSIGHT;事件为onRenderTable;并把下面宏代码复制到代码区域。 


宏类型

类型

对象

事件

ClientSide

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开始,注:如果是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) {}
    }
}


关键对象总结

  • 获取单元格对象:grid.getCell(m, cellIndex); 
  • 设置列宽:cell.firstChild.style.width = colWidth; 

 

  • 无标签