示例说明
在灵活分析中,实现"某个字段的部分单元格进行合并"。
设置方法
- 在资源定制中,创建一张灵活分析;
- 选中灵活分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为simpleReport;事件为onRenderTable;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRenderTable |
宏代码
function main(simpleReport, simpleReportContext) { var getFloatValue = function(x, y) { var c = simpleReport.grid.getCell(x, y); var value = c.innerText; var floatValue = parseFloat(value.replace(",", "")); return floatValue } var iHeaders = simpleReport.grid.getHeaderRows(); //得到表头的行数 var iRows = simpleReport.grid.getRowCount(); //得到行数 if (iHeaders == iRows) return; //汇总第2列中,第2行到14行的单元格数值 var value = 0; for (var i = 1, len = 10; i < len; i++) { value = value + getFloatValue(i, 1); } //value = value.toFixed(2); //保留2位小数点 simpleReport.grid.MergeRowHeaderCells(1, 10, 2); //合并第3列中,第2行到14行的单元格 simpleReport.grid.getCell(1, 2).innerText = value; //对合并单元格中显示合计数据 }
关键对象总结
- 获得表头行数:simpleReport.grid.getHeaderRows()
- 获得总行数:simpleReport.grid.getRowCount()
- 合并某列多个单元格:simpleReport.grid.MergeRowHeaderCells(1, 10, 2)
合并某行多个单元格:simpleReport.grid.MergeColHeaderCells(行数, 合并开始列, 合并结束列)
simpleReport.grid.MergeColHeaderCells(row, colB, colE)