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

(本文档仅供参考)

问题

V11 清单表、汇总表如何实现根据点击的单元格的值不同打开不同的目标报表,并把单元格的值传到目标报表

解决办法

可参考如下宏代码,若需其它方式打开目标资源,可参考:【仪表盘】指定打开方式来打开目标报表页面

function main(page: IPage, portlet: ITableListPortlet) {
    portlet.setRenderCellHandler((cell, row, rowIndex, columnIndex) => {
     //点击第一列进行跳转,从0开始计算
        if (columnIndex == 0) {
            //给单元格添加点击事件
            cell.addEventListener(TableCellEvent.CLICK, () => {
                let value = cell.getValue()
                //判断点击的单元格的值为华南跳转到报表1
                if(value=='华南'){
                let params = [{ name: "baiwan", alias: "baiwan", value: value, displayValue: value }]
                let paramsInfoBase64 = SmartbiXMacro.utils.encodeBase64(JSON.stringify(params))
                let query: OpenLinkQuery = {
                    targetInfo: {
                        url: `../vision/openresource.jsp?resid=I8a74a43c0192879a879aa861019288a7093007c4¶msInfoBase64=${paramsInfoBase64}`,
                        method: 'POST',
                        title: '报表1'
                    }
                    }
                
                //调用打开接口,接口默认为:新窗口打开'NEW_WIN',设置为浮窗打开
                    page.openLinkByType(query, OpenType.DIALOG)
                } //判断点击的单元格的值不为华南跳转到报表2
                else {
                    let params = [{ name: "参数1", alias: "参数1", value: value, displayValue: value }]
                      let paramsInfoBase64 = SmartbiXMacro.utils.encodeBase64(JSON.stringify(params))
                let query: OpenLinkQuery = {
                    targetInfo: {
                        url: `../vision/openresource.jsp?resid=I8a74a4220190996499644b8101909b6a1b4311d7¶msInfoBase64=${paramsInfoBase64}`,
                        method: 'POST',
                        title: '报表1'
                    }
                    }
                
                //调用打开接口,接口默认为:新窗口打开'NEW_WIN',设置为浮窗打开
                    page.openLinkByType(query, OpenType.DIALOG)
                }
                
            })
        }
      
    });
}
  • 无标签