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


该宏示例在 V10.5上 验证通过

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

1. 示例效果

当月份字段为空时则隐藏整块表格。

  • 未隐藏前的效果:

  • 当月份字有效期段为空时,隐藏“表2”整个表格

2. 操作步骤

  • 步骤一: 新建一个空白的自助仪表盘

  • 步骤二:  拖入"web电子表格",双击”web电子表格“进入编辑界面

  • 步骤三:数据如下,保存退出

  • 步骤四:鼠标右键进入宏管理页面

  • 步骤五:新建宏。事件:“ onBeforeOutput(在输出结果前)

  • 步骤六:编写宏代码实现效果

把下面宏代码复制到代码区域

function main(pageServer: IPageServer, portletServer: ITableSheetPortletServer) {
    let cells = portletServer.getWorkbook().getWorksheets().get(0).getCells(); //获取行值
    let list = portletServer.getSheets()[0].getExpandedPositions("G14"); //获取的列值

    var hideRowCount = 0;
    for (var i = 0; i < list.length; i++) {
        let position = list[i];
        let value = cells.get(position.getRow(), position.getColumn()).getValue();
        if (value == null || value == "") {
            cells.hideRow(position.getRow());
            hideRowCount++;
        }
    }
    // 数据全部被隐藏时,隐藏标题
    if (hideRowCount > 0 && hideRowCount == list.length) {
        cells.hideRow(list[0].getRow() - 1);
    }
}
  • 步骤七:点击 保存。重新访问报表,可看到效果已实现

3. 下载资源

根据条件隐藏.xml

  • 无标签