注意 |
---|
提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
示例说明
在灵活分析中,同一个数值字段要求显示不同的数据格式。
如下图:当金额大于10000的时候,金额保留两位小数并且后缀加万元;当金额小于10000的时候,直接加后缀元。
设置方法
- 在资源定制中,创建一张灵活分析;
- 选中灵活分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为simpleReport;事件为onRenderTable;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRenderTable |
宏代码
代码块 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
function main(simpleReport, simpleReportContext) { //获取表头行数 var headerRows = simpleReport.grid.getHeaderRows(); //获取总行数 var rows = simpleReport.grid.getRowCount(); //取序号所在的列号 var n = simpleReport.getFieldIndexByAlias("销售额"); for (var i = headerRows; i < rows; i++) { //获取金额 var cell1 = simpleReport.grid.getCell(i, n); var value1 = cell1.innerText; var floatValue1 = parseFloat(value1.replace(/,/g, "")); //把金额装换为浮点型 if (floatValue1 > 10000) { //金额除以10000 var money = floatValue1 / 10000; //金额保留两位小数并且后缀加万元 money = money.toFixed(2) + '万元'; simpleReport.grid.getCell(i, n).innerText = money; //使用格式处理后的金额替换原来金额 } else { //直接加后缀元 var money = value1 + '元'; //使用格式处理后的金额替换原来金额 simpleReport.grid.getCell(i, n).innerText = money; } } } |
...