页面树结构
转至元数据结尾
转至元数据起始

温馨提示

本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。

1、示例说明

在透视分析(参数含2个日期控件)中,实现"当【开始日期】和【结束日期】超过90天时,弹出提示框"。


2设置方法

  1. 在资源定制中,创建一张透视分析(带两个日期控件);并设置报表打开不自动刷新和切换参数不自动刷新。



  2. 选中透视分析,右键选择 编辑宏 进入报表宏界面。
  3. 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为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获取到的是参数对应的别名:如


  • 无标签