示例说明
在灵活分析中对于合计、小计等对应的指标值不加链接,如下图:
设置方法
- 在资源定制中,创建一张灵活分析(带合计行)。
- 选中灵活分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建跳转规则。
- 修改所创建跳转规则的action,如修改示例中的跳转规则的action,如下图:
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRenderTable |
宏代码
function main(simpleReport, simpleReportContext) { /*需要修改的内容*/ var col = simpleReport.getFieldIndexByName("CategoryName"); //获取字段名称列 var col1 = simpleReport.getFieldIndexByName("销售额"); //获取字段名称列 var col2 = simpleReport.getFieldIndexByName("Quantity"); //获取字段名称列 var count = simpleReport.grid.getRowCount(); //获天表格行 for (var i = simpleReport.grid.getHeaderRows(); i < count; i++) { var cell = simpleReport.grid.getCell(i, col); if (cell.innerHTML == "合计") { break; //退出循环 } else { simpleReport.addCellLink(i, col1, me); //给单元格添加链接 simpleReport.addCellLink(i, col2, me); //给单元格添加链接 } } } /*以下内容为创建跳转规则时自动生成的代码,不需要修改*/ var menuItem = { alias: "下钻", callback: function(simpleReport, simpleReportContext, page, pageContext) { simpleReport.writeParamsToContext(); var targetResId = "I4028818a0ba9cdff014e9a8816f5372b"; var newReport = false; //找到对应的dashlet对象,并刷新它。 var dashlet = page.findDashletByReportId(targetResId); //dashlet不存在 if (!dashlet) return; var portlet = dashlet.currentPortlet; if (!portlet) { return; } //设置或收集参数值。 var realValue = simpleReport.getCurrentFieldRealValue("产品类别"); var dispValue = simpleReport.getCurrentFieldValue("产品类别"); var pObj = { "value": realValue, "displayValue": dispValue }; if (pObj) { portlet.fillParamValueFromObj("产品类别", pObj); } //设置参数值到报表对象 portlet.commitParamValue(); portlet.refreshData(); } } var me = menuItem; //创建参数信息 function createParamInfo(name, value, disValue, mergeType) { var paramInfo = new Object(); paramInfo.name = name; paramInfo.value = value; paramInfo.displayValue = disValue; if (mergeType) paramInfo.groupType = mergeType; return paramInfo; }
关键对象总结
- 通过参数名获取参数对象:simpleReport.addCellLink(i, col, me)
- 打开灵活分析:simpleReportContext.openReport("I2c949eaf1a942102011a9561f7e7015d");