页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。


注意
title温馨提示

本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如报表使用冻结,或多个宏代码冲突等),需根据实际需求开发代码。

示例说明

在透视分析的参数后添加刷新按钮,当切换参数后不刷新数据,而是在点“刷新”按钮后才刷新数据,可以通过宏实现。效果图如下:

...

注意:分别新建两个客户端宏,一个onRender触发,一个onRenderTable触发。

宏类型

类型对象事件
ClientSide

INSIGHT

onRender

ClientSide

INSIGHT

onRenderTable


宏代码

代码块
languagejs
title添加按钮
linenumberstrue
function main(insight) {
    //debugger;
    insight.origin_rebuildParamPanel = insight.rebuildParamPanel;
    insight.rebuildParamPanel = function() {
        this.origin_rebuildParamPanel();
        addBtns(this);
    }
    addBtns(insight);
}
function addBtns(insight) {
    var paramTable = insight.paramPanelObj.layoutTable;
    var i, cell, lastCell;
    for (i = 0; i < paramTable.rows.length; i++) {
        cell = paramTable.rows[i].insertCell( - 1);
        if (i == paramTable.rows.length - 1) lastCell = cell;
    }
    //新建button,并把这个button加到最后一个参数后面
    var btnElem = document.createElement("input");
    btnElem.type = "button";
    btnElem.value = "刷新";
    btnElem.className = "queryview-toolbar-button";
    btnElem.style.background = "url(./img/button/button_bgicon_add.gif) no-repeat top right";
    btnElem.style.border = "1px solid #A1ACB9";
    btnElem.style.width = "80px";
    btnElem.style.padding = "2px 0 0 0";
    btnElem.style.margin = "0 10px 0 10px";
    btnElem.onclick = doClick;
    if (lastCell) {
        lastCell.appendChild(btnElem);
    }
    //定义button的Click事件
    function doClick() {
        insight.doRefresh();
    }
}

...

  • 获取透视分析参数区域:insight.paramPanelObj.layoutTable;
  • 创建按钮控件:document.createElement("input");
  • 添加按钮到参数区域:lastCell.appendChild(btnElem);
  • 透视分析刷新数据:insight.doRefresh();

 

 

...