示例说明
在灵活分析中,同一个数值字段要求显示不同的数据格式。
如下图:当金额大于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;
}
}
}
关键对象总结
- 获取单元格内的值:simpleReport.grid.getCell(i, n);
- 替换单元格内的值:simpleReport.grid.getCell(i, n).innerText;