温馨提示
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。
1、示例说明
在透视分析(参数含2个日期控件)中,实现"当【开始日期】和【结束日期】超过90天时,弹出提示框"。
2、设置方法
- 在资源定制中,创建一张透视分析(带两个日期控件);并设置报表打开不自动刷新和切换参数不自动刷新。
- 选中透视分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为INSIGHT;事件为onRender;并把下面宏代码复制到代码区域。
2.1 宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | INSIGHT | onRender |
2.2 宏代码
function main(insight) { //debugger; insight.doRefresh_old = insight.doRefresh; insight.doRefresh = function(pageNum) { var params = insight.params; var startTime, endTime; for (var i = 0; i < params.length; i++) { var param = params[i]; if (param.alias == "开始日期") { startTime = new Date(param.value.replace(/\-/g, "/")); } else if (param.alias == "结束日期") { endTime = new Date(param.value.replace(/\-/g, "/")) } } if (endTime.getTime() - startTime.getTime() > 1000 * 3600 * 24 * 90) { alert("两个参数的差不能超过90天"); return false; } else { insight.doRefresh_old(pageNum); } } }
param.alias获取到的是参数对应的别名:如