在项目中灵活分析报表根据参数值显示不同列。如下示例中当参数“币种”选择“美元”时报表显示“A”列、“B”列、“C”列;当参数“币种”选择“人民币”时报表显示“D”列、“E”列、“F”列。可以通过实现该功能。
当参数“币种”选择“美元”时的效果图:
当参数“币种”选择“人民币”时的效果图:
类型 | 对象 | 事件 |
---|---|---|
ClientSide | simpleReport | onParamValueChanged |
function main(simpleReport, simpleReportContext, param) { if (param.name == "币种") { var aFieldid = 'BizViewOutField.I402881e66c36d2570147ed4a3b96042a.I402881e66c36d2570147ed4943710413'; //获取报表中输出的字段 var bFieldid = 'BizViewOutField.I402881e66c36d2570147ed4a3b96042a.I402881e66c36d2570147ed4943710414'; var cFieldid = 'BizViewOutField.I402881e66c36d2570147ed4a3b96042a.I402881e66c36d2570147ed4943710415'; var dFieldid = 'BizViewOutField.I402881e66c36d2570147ed4a3b96042a.I402881e66c36d2570147ed48e9890410'; var eFieldid = 'BizViewOutField.I402881e66c36d2570147ed4a3b96042a.I402881e66c36d2570147ed48e9890411'; var fFieldid = 'BizViewOutField.I402881e66c36d2570147ed4a3b96042a.I402881e66c36d2570147ed49eeb20421'; if (param.displayValue == "美元") { //判断为"美元"显示那些字段,true为显示,false为不显示 simpleReport.clientConfig.gridProp.fieldProps[aFieldid].visible = true; simpleReport.clientConfig.gridProp.fieldProps[bFieldid].visible = true; simpleReport.clientConfig.gridProp.fieldProps[cFieldid].visible = true; simpleReport.clientConfig.gridProp.fieldProps[eFieldid].visible = false; simpleReport.clientConfig.gridProp.fieldProps[dFieldid].visible = false; simpleReport.clientConfig.gridProp.fieldProps[fFieldid].visible = false; } else { simpleReport.clientConfig.gridProp.fieldProps[aFieldid].visible = false; simpleReport.clientConfig.gridProp.fieldProps[bFieldid].visible = false; simpleReport.clientConfig.gridProp.fieldProps[cFieldid].visible = false; simpleReport.clientConfig.gridProp.fieldProps[eFieldid].visible = true; simpleReport.clientConfig.gridProp.fieldProps[dFieldid].visible = true; simpleReport.clientConfig.gridProp.fieldProps[fFieldid].visible = true; } simpleReport.updateClientConfig(); //更表报表配置 } simpleReport.refreshData(); //刷新报表数据 } |