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

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


问题描述:

电子表格报表实现根据参数值切换控制sheet页的显示或隐藏

参考示例:

如下图电子表格示例,有4个sheet页分别为,有一个参数发货区域(参数备选值有东北、华北....)。

参考宏代码,选中报表鼠标右键进入宏管理页面,新建客户端模块,对象:spreadsheetReport 、 事件:onParamValueChanged

将下述代码复制再根据实际情况修改即可

//ClientSide 对象 spreadsheetReport 事件 onParamValueChanged
function main(spreadsheetReport, param) {
    var value = spreadsheetReport.getParameterValue("发货区域");//实际参数名称
    var hideMaps = {
        "东北": "Sheet1",//参数名:sheet页名
        "华北": "Sheet2",
        "华东": "Sheet3",
    }; //数组里边写需要隐藏的sheet页名称和对应参数
    var sheetNames = spreadsheetReport.visibleSheetNames;
    var removeSheetName = hideMaps[value];
    var row = spreadsheetReport.sheetsTable.rows[0];
    if (removeSheetName) {
        for (var j = 0; j < row.cells.length; j++) {
            if (row.cells[j]._sheetName != removeSheetName) {
                row.cells[j].style.display = 'none';
            } else {
                row.cells[j].style.display = '';
            }
        }
    }else{//未选择隐藏参数则显示所有
        for (var j = 0; j < row.cells.length; j++) {
            row.cells[j].style.display = '';
        }
    }
}

效果:

QQ2024629-15717-HD.mp4


  • 无标签