示例说明
...
在灵活分析中实现合计行加粗显示。如下:
版本及客户端要求
1.版本:Smartbi V7.0及以上
2.客户端:PC
3.浏览器:IE11、Chrome浏览器、Firefox浏览器
设置方法
...
1.创建灵活分析报表,如下:
2.选中灵活分析,右键选择 编辑宏 进入报表宏界面。
...
3.在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为simpleReport;事件为onRenderTable;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRenderTable |
宏代码
代码块 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
function main(simpleReport, simpleReportContext) { var rows = simpleReport.grid.getRowCount(); //获取总行数 var headerRows = simpleReport.grid.getHeaderRows(); //获取表头行数 for (var rcolumnIndex = headerRows; r < rows; r++) { setCellStrong('发货区域', r); setCellStrong('发货城市', r); } //加粗单元格中包含有小计的字体simpleReport.getFieldIndexByAlias('产品类别'); //由于合计显示在"产品类别"这一列,所以需要获取列序号 functionfor setCellStrong(fieldAlias,var r)rowIndex {= headerRows; rowIndex < var c = simpleReport.getFieldIndexByAlias(fieldAlias); //通过字段别名获取字段位置rows; rowIndex++) { var cell = simpleReport.grid.getCell(rrowIndex, ccolumnIndex); //获取单元格对象 var value = cell.innerText; //获取格子内容 if (value.indexOf('小计合计') !== -1) { //判断内容是否包含小计字样判断是不是合计行 continue; } else { for (var i = 0; i < 65; i++) { //总共有5列,每一列都需要设置加粗 var cell = simpleReport.grid.getCell(rrowIndex, i); //获取单元格对象 var value = cell.innerText; //获取格子内容 cell.innerHTML = '<strong>' + value + '<strong>'; //字体加粗 } var cell = simpleReport.grid.getCell(r, 2); cell.innerHTML = '.'; simpleReport.grid.MergeColHeaderCells(r, 2, 4); } } } |
- 获取单元格对象:simpleReport.grid.getCell(rrowIndex, i);
- 获取总行数:simpleReport.grid.getRowCount();
- 获取表头行数:var headerRows = simpleReport.grid.getHeaderRows();