设置方法
- 创建电子表格报表。
- 在浏览器的“分析展现”节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块。在弹出的新建模块对话框中选择对象为 spreadsheetReport;事件为 onRenderReport;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRenderReport |
宏代码
function main(spreadsheetReport) { spreadsheetReport.buildParamsInfo = function(fromButton) { if (!this.params) return null; var ps = []; for (var i = 0; i < this.params.length; i++) { if (this.hiddenParamValues && this.hiddenParamValues[this.params[i].id]) continue; var value; var displayValue; if (this.paramPanelObj) { value = this.paramPanelObj.getParamValue(this.params[i].id); if (value == "") value = this.paramPanelObj.getParamTagByParamId(this.params[i].id).param.value; if (value == "") { var noNull = lang.parseJSON(this.params[i].componentDefine).noNull; if (!noNull) { this.refreshing = false; this.showMaskDiv(false); if (fromButton) { alert("${Thereportparametercannotbenull}${Colon}" + (this.params[i].alias || this.params[i].name)); } return; } } displayValue = this.paramPanelObj.getParamDisplayValue(this.params[i].id); } else { value = this.params[i].value; displayValue = this.params[i].displayValue; } var disValue = value; if (value != "" && value != null) { var valueArray = value.split(","); //逗号分割 //处理参数实际的部分 if (valueArray.length > 1) { value = valueArray[0] + "%' or product_name like"; for (var ii = 1; ii < valueArray.length - 1; ii++) { value = value + "'%" + valueArray[ii] + "%' or product_name like"; } value = value + "'%" + valueArray[valueArray.length - 1]; } } //将所有参数分别放进参数数组中 ps.push({ id: this.params[i].id, name: this.params[i].name, value: value, displayValue: displayValue }); } if (this.hiddenParamValues) { for (var id in this.hiddenParamValues) { var v = this.hiddenParamValues[id]; ps.push({ id: id, name: id.substring(id.lastIndexOf('.') + 1), value: v[0], displayValue: v[1] }); } } return ps; }; }
作为多选模糊查询的参数的数据类型要选择“其他类型”,并且在宏代码中,要将下方红色框的字段改成自己使用的参数字段,可在查询SQL中查看对应字段。
资源下载
报表资源:migrate.xml