提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
点击“操作”列下的“明细”,会跳转到目标报表“销售明细”,并传递相对应的参数过去
把下面宏代码复制到代码区域
function main(pageServer: IPageServer, portletServer: ITableSheetPortletServer) { let sheet = portletServer.getSheetByName("Sheet2"); let positions = "E3".split(","); for (let i = 0; i < positions.length; i++) { let position = positions[i].trim(); let expandedPositions = sheet.getExpandedPositions(position); for (let j = 0; j < expandedPositions.length; j++) { let cell = sheet.getCell(expandedPositions[j]); if (true) { addLink(portletServer, sheet, cell); } } } } function addLink(portletServer: ITableSheetPortletServer, sheet: ISheetServer, cell: ISheetCellServer) { sheet.addRuleLink(cell.getCellPosition(), "明细_添加跳转规则", [getCellValue(cell.getRelativeCells("B3")), getCellValue(cell.getRelativeCells("C3"))]); } function getCellValue(cell: any) { if (!cell) return null; if (typeof cell.length == 'number') { var ret = []; for (var i = 0; i < cell.length; i++) { if(cell[i]!=null) ret.push(cell[i].value); } return ret; } else { return cell.value; } } |
把下面宏代码复制到代码区域
function main(page: IPage, portlet: ITableSheetPortlet, ruleName: string, parameterValues: object[]) { if (ruleName != "明细_添加跳转规则") return; //打开指定资源ID的报表,并传递参数“产品类别”和“年”的值给指定报表资源 page.openResourceInTab("I8a8a9f6d017b299c299cb640017b2a6ccb7f0c5c", [ { name: "CategoryName", alias: "CategoryName", value: paramToString(parameterValues[0]) }, { name: "年", alias: "年", value: paramToString(parameterValues[1]) } ] ); } function paramToString(v: any) { return v == null ? null : v.toString(); } |