页面树结构

版本比较

标识

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


注意

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

示例说明

客户需求:在电子表格报表中,有时候因需要隐藏的sheet页名称不定,每次都重新在Excel上编辑比较麻烦,希望可以浏览器可以直接设置隐藏的sheet名称。类似上述需求,可以参照如下方法进行设置。参考示例:

...

3、在报表宏界面新建客户端模块。在弹出的新建模块对话框中,选择对象为spreadSheetReport、事件为onRenderReport、并把下面宏代码复制到代码编辑区域。

宏类型

类型

对象

事件

ClientSide

spreadsheetReport

onRenderReport

宏代码

代码块
languagejs
linenumberstrue
function main(spreadsheetReport) {
    debugger;
    var hideSheets = ['Sheet4', 'Sheet5']; //数组里边写需要隐藏的sheet页名称
    for (var k = 0; k < hideSheets.length; k++) {
        var removeSheetName = hideSheets[k];
        for (var i = 0; i < spreadsheetReport.visibleSheetNames.length; i++) {
            if (spreadsheetReport.visibleSheetNames[i] == removeSheetName) {
                var row = spreadsheetReport.sheetsTable.rows[0];
                for (var j = 0; j < row.cells.length; j++) {
                    if (row.cells[j]._sheetName == removeSheetName) {
                        row.removeChild(row.cells[j]);
                        break;
                    }
                }
                spreadsheetReport.visibleSheetNames.splice(i, 1);
                break;
            }
        }
    }
    if (spreadsheetReport.moreTdSheets) {
        var div = spreadsheetReport.moreTdSheets.firstChild;
        while (div) {
            if (div._sheetName == removeSheetName) {
                spreadsheetReport.moreTdSheets.removeChild(div);
                break;
            }
            div = div.nextSibling;
        }
    }
    spreadsheetReport.doOnWindowResize({
        target: window
    });
}
       

...