知方号

知方号

帆软报表<显示报表筛选项>

帆软报表

帆软报表-控件范围筛选

背景:了解报表的人都晓得报表的正文展示前一般都有一些筛选控件,以供筛选出想要的数据,但是往往有用户使用不当,导致报表服务器出现内存不足等问题出现,为了规避这种情况出现,限制用户对报表控件的筛选是一种方法。

举例:日期控件范围筛选限制,本次案例是对日期范围的限制,只允许筛选365天范围内

报表参数面板 步骤如下: 1.获取填写日期的控件名称 2.在查询按钮上编写事件JS,事件JS编写处可选择出发时机(点击/初始化),这里选择点击 3.编写JS代码时,可设置参数,引用JS文件 4.案例脚本:

//获取日期控件参数值,需根据报表的控件参数名替换此示例的参数名:此处是 p_date_start,p_date_endvar str_1 =this.options.form.getWidgetByName("p_date_start").getValue(); //开始日期var str_2 =this.options.form.getWidgetByName("p_date_end").getValue(); // 截止日期//将日期yyyymmdd 切割 var str_year_start=str_1.substr(0,4);var str_month_start=str_1.substr(4,2);var str_day_start=str_1.substr(6,2);var str_year_end=str_2.substr(0,4);var str_month_end=str_2.substr(4,2);var str_day_end=str_2.substr(6,2);var str_line= new String("-");//拼接 成yyyy-mm-dd 格式var p_date_1= str_year_start.concat(str_line,str_month_start,str_line,str_day_start);var p_date_2= str_year_end.concat(str_line,str_month_end,str_line,str_day_end);// 将yyyy-mm-dd 字符串类型 转成 时间型var date_start= new Date(p_date_1);var date_end= new Date(p_date_2);// 日期做差,单位是 天var p_diff = (date_end-date_start)/60/60/24/1000// xxx 标识 使用范围限制的日期控件名称,有的报表多个日期筛选,必须提示是作用于哪个筛选var str_alert_1 = new String("xxx查询跨度只能在"); var str_alert_2 = new String("天内,请重新选择!");//这里的365可以设置成参数var str_alert_all = str_alert_1.concat(365,str_alert_2)if (p_diff>365 ){alert (str_alert_all);return false;}else{ return true;}

5.效果展示,若是筛选日期范围超过365天则会弹出提示框

温馨提示:以上只是帆软JS应用的冰山一角,还有

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。