码迷,mamicode.com
首页 > 其他好文 > 详细

【转】润乾报表自定义下拉日历

时间:2018-03-01 17:09:38      阅读:368      评论:0      收藏:0      [点我收藏+]

标签:过滤   sof   bsp   自定义控件   对象   风格   表单   img   系统   

客户在对数据库中数据做查询时,要根据一个时间段对时间过滤,数据库中日期存储的是时间格式,查询是可能精确到时分秒,这样就要求下拉日历格式为年月日时分秒格式,但是客户那边大多数操作时,要求查询时间是从00:0:00开始,结束时间默认为23:59:59,只有想选择时再选择自己想要的时间。

但是目前下拉日历如果格式选择年月日时分秒后,弹出的下拉日历默认取的是当前系统时间,也就是时分秒是默认时间,并不会是客户要求的使劲,客户想要实现的话需要手动再改一次,太过费事,希望希望自己按照他们的规则生成日历。

解决方法:报表中支持自定义控件,可以自己在网上找个下拉日历的控件加到报表中来,这个报表中有说明文档,本次主要介绍下如何基于报表自带的日历控件实现客户的需求。

报表自带的日历控件是写在一个js文件里,可以手动更改js文件内容,但是客户要求中有起始时间和结束时间,如果更改js的话会导致两个一样,无法满足需求。可以在外部通过js更改日历的属性,下边看下制作方法。

参数表单下拉日历单元格中,编辑风格改成自定义:

技术分享图片

点击设置,在弹出窗口中写入如下代码:_runqianCalendar().type=‘date‘;_runqianCalendar().emptyAsNow=false;qishi(event),如图:

技术分享图片

 

qishi(event),为点击该控件的弹出事件,在显示报表的jsp中增加该js函数即可:

         function qishi(arg){

                   var obj = _runqianCalendar();

                   obj.thisHour="00";

                   obj.thisMinutes="00";

                   obj.thisSeconds="00";

                   _showCalendar(arg);

                  

                   }

Obj对象为下拉日历对象,可以通过更改其属性值达到弹出下拉日历默认值效果,更改相应时分秒为”00:00:00”

同样的方法更改结束日期的下拉控件,调用jieshu()方法,如下代码:

                            functionjieshu(arg){

                   var obj = _runqianCalendar();

                   obj.thisHour="23";

                   obj.thisMinutes="59";

                   obj.thisSeconds="59";

                   _showCalendar(arg);

                  

                   }

注意:润乾的下拉日历是写到js文件中,如果这么这么做的话,需要在显示报表的jsp中引入相应js,有一种简便办法,如果报表中用到下拉日历的话,系统会自动引用js,这样的话只需要在参数表单中找个空白单元格,里边编辑风格设置成下拉日历即可。这样就能实现客户的需求,如图,起始日期:

技术分享图片

结束日期:

技术分享图片

【转】http://blog.csdn.net/rqgxy/article/details/55046378

【转】润乾报表自定义下拉日历

标签:过滤   sof   bsp   自定义控件   对象   风格   表单   img   系统   

原文地址:https://www.cnblogs.com/personal-blog/p/8488403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!