示例说明
客户需求:在电子表格报表中,存在 开始时间 及 结束时间 参数,客户的需求是开始时间不能大于结束时间,若大于则弹出提示。类似上述需求,可以参照如下方法进行设置。
实例效果如下:
版本及客户端说明
1.smartbi版本:V9
2.客户端:PC
3.浏览器:IE11、谷歌浏览器(Chrome)、火狐浏览器(Firefox)
设置方法
1、首先在电子表格设计器(Microsoft Office Excel)中,创建电子表格报表。
示例中有开始时间及结束时间参数:
2、在浏览器的“分析展现”节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建客户端模块。在弹出的新建模块对话框中,选择对象为spreadSheetReport、事件为onRenderReport、并把下面宏代码复制到代码编辑区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRenderReport |
宏代码
代码块 | ||||
---|---|---|---|---|
| ||||
function main(spreadsheetReport) {
if(!spreadsheetReport._jhy_doRefresh){
spreadsheetReport._jhy_doRefresh = spreadsheetReport.doRefresh;}
spreadsheetReport.doRefresh = function(fromButton, delayMask) {
//根据参数名称获取参数值
var endtime = new Date(spreadsheetReport.getParameterValue("结束日期"));
var starttime = new Date(spreadsheetReport.getParameterValue("开始日期"));
if (endtime < starttime) {
setTimeout(function() {
alert("结束时间不能早于起始时间");
}, 100);
return;
}
this._jhy_doRefresh(fromButton, delayMask);
};
}
|
注:如果电子表格设置了局部刷新,可参考以下宏代码(对象和事件不变)。
代码块 | ||
---|---|---|
| ||
function main(spreadsheetReport) {
spreadsheetReport.doRefreshSheet = function() {
if (this.autoRefresh == 1)
this.doRefresh();
else {
var endtime = new Date(spreadsheetReport.getParameterValue("结束日期"));
var starttime = new Date(spreadsheetReport.getParameterValue("开始日期"));
if (endtime < starttime) {
setTimeout(function() {
alert("结束时间不能早于开始时间");
}, 100);
return;
}
this.doAjaxRefresh();
}
}
} |
注:结束时间减去开始时间大于90天时弹出提示,可参考以下宏代码。
实例效果如下:
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRenderReport |
宏代码
代码块 |
---|
function main(spreadsheetReport) {
spreadsheetReport._jhy_doRefresh = spreadsheetReport.doRefresh;
spreadsheetReport.doRefresh = function(fromButton, delayMask) {
var endtime = new Date(spreadsheetReport.getParameterValue("结束日期").replace(/\-/g, "/"));
var starttime = new Date(spreadsheetReport.getParameterValue("开始日期").replace(/\-/g, "/"));
if (endtime.getTime() - starttime.getTime() > 1000 * 3600 * 24 * 90) {
setTimeout(function() {
alert("两个参数的差不能超过90天");
},
100);
return;
}
this._jhy_doRefresh(fromButton, delayMask);
}
} |
资源下载
资源: migrate.xml
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |