注意 | ||
---|---|---|
| ||
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如报表使用冻结,或多个宏代码冲突等),需根据实际需求开发代码。 |
示例说明
在透视分析的参数后添加刷新按钮,当切换参数后不刷新数据,而是在点“刷新”按钮后才刷新数据,可以通过宏实现。效果图如下:
...
注意:分别新建两个客户端宏,一个onRender触发,一个onRenderTable触发。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | INSIGHT | onRender |
ClientSide | INSIGHT | onRenderTable |
宏代码
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
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();
...