帆软报表-控件范围筛选

帆软报表-控件范围筛选

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

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

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

//获取日期控件参数值,需根据报表的控件参数名替换此示例的参数名:此处是 p_date_start,p_date_end
var 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应用的冰山一角,还有更多应用等待你发掘,同时在帆软的技术学习论坛内也有许多案例,另如果你下载了帆软,可用帆软设计器打开帆软目录:FineReport_9.0\WebReport\WEB-INF\reportlets\doc
这里有很多设计器模板供你参考,其中就有目录:FineReport_9.0\WebReport\WEB-INF\reportlets\doc\JS 下有JS模板
****

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值