RS开发值提示默认为当前月
2013-10-31 11:20
267 查看
在报表的开发过程中,按月查询数据,但是由于数据仓库中涉及多年历史数据,而用户最关心的却是最近的数据,针对这个情况。当用户第一次点击报表想看到的就是当前月的数据,那么如何去做呢?
下面用一个小例子来实战一下
cognos版本:V10.1.1
先看报表页面的样式,简单的一个按月份显示指标的列表,注意红色标注的地方
![](http://images.cnitblog.com/blog/418191/201310/31110333-7dcd9dbb799a4a52982ac5045cc298b7.x-png)
下面看提示页面的样式
![](http://images.cnitblog.com/blog/418191/201310/31110537-2e2b197d5b93474fbc047c96cb5f4f30.x-png)
拖拉一个html 然后拖入两个值提示(开始月份与结束月份)
注意开始日期,结束日期的参数名和报表页面分别保持一致(beginmonth,endmonth)
html1处加入代码:
html2处加入代码:
需要注意的是:
var mylist1= form._oLstChoicesbeginmonth;
var mylist2= form._oLstChoicesendmonth;
此处代码获取值提示对象是根据值提示的名称而不是参数名来获取的,如下图,设置值提示控件的名称
![](http://images.cnitblog.com/blog/418191/201310/31111207-5650d0cc372e48209623e6a7890b07ef.x-png)
开始月份和结束月份都如上设置。
for循环便利select中的值,等于当前月的时候,设置为选中。
for(var i=0;i<mylist1.length;i++)
{
if(mylist1[i].value==getcurrentmonth())
{
mylist1[i].selected="true";
}
}
赋值完成后,设置自动提交
promptButtonFinish();
隐藏提示页面,由于整段代码放在<div></div>之间
设置div不显示即可
html1处的代码
<div style="display:none">即可
整体思路:利用系统日期函数获得当前月,遍历select设置默认选项属性。利用自动提交于报表页,提示页参数一样起到给参数赋值。最终获得第一次查询是当前月的数据目的
当前月:2013年10月31日11:18:22
数据显示为
![](http://images.cnitblog.com/blog/418191/201310/31111854-0b589f9a47c9401d8da941fd44349041.x-png)
OK ,问题获得解决,在此也感谢网上朋友给的参考,具体问题还要结合实际问题来处理。
下面用一个小例子来实战一下
cognos版本:V10.1.1
先看报表页面的样式,简单的一个按月份显示指标的列表,注意红色标注的地方
下面看提示页面的样式
拖拉一个html 然后拖入两个值提示(开始月份与结束月份)
注意开始日期,结束日期的参数名和报表页面分别保持一致(beginmonth,endmonth)
html1处加入代码:
<div style="display:none">
html2处加入代码:
<script> function getcurrentmonth() { var dtToday = new Date(); var nowday = [dtToday.getUTCFullYear(), dtToday.getMonth()+1].join(""); return nowday ; } function init() { var form=getFormWarpRequest(); var mylist1= form._oLstChoicesbeginmonth; var mylist2= form._oLstChoicesendmonth; for(var i=0;i<mylist1.length;i++) { if(mylist1[i].value==getcurrentmonth()) { mylist1[i].selected="true"; } } for(var j=0;j<mylist2.length;j++) { if(mylist2[j].value==getcurrentmonth()) { mylist2[j].selected="true"; } } promptButtonFinish(); } </script> <body onload="init()"> </body> </div>
需要注意的是:
var mylist1= form._oLstChoicesbeginmonth;
var mylist2= form._oLstChoicesendmonth;
此处代码获取值提示对象是根据值提示的名称而不是参数名来获取的,如下图,设置值提示控件的名称
开始月份和结束月份都如上设置。
for循环便利select中的值,等于当前月的时候,设置为选中。
for(var i=0;i<mylist1.length;i++)
{
if(mylist1[i].value==getcurrentmonth())
{
mylist1[i].selected="true";
}
}
赋值完成后,设置自动提交
promptButtonFinish();
隐藏提示页面,由于整段代码放在<div></div>之间
设置div不显示即可
html1处的代码
<div style="display:none">即可
整体思路:利用系统日期函数获得当前月,遍历select设置默认选项属性。利用自动提交于报表页,提示页参数一样起到给参数赋值。最终获得第一次查询是当前月的数据目的
当前月:2013年10月31日11:18:22
数据显示为
OK ,问题获得解决,在此也感谢网上朋友给的参考,具体问题还要结合实际问题来处理。
相关文章推荐
- RS开发日期提示控件默认为昨天之进阶篇
- RS开发日期提示控件默认为昨天之进阶篇
- RS开发日期提示控件默认为昨天
- iOS开发问题:系统提示框是否同意获取当前位置提示框自动消失问题
- 【iOS开发】设置textView的默认提示文字,也就是textView变相的"placeholder"。
- 【iOS开发】设置textView的默认提示文字
- 【iOS开发】设置textView的默认提示文字
- 安卓开发时提示:java.lang.NullPointerException空指针异常
- 下拉框默认选中当前年、月、日的实现!
- oracle中用户删除不了,提示“无法删除当前已连接的用户”
- 全局变量如果不初始化,则默认为0,编译时编译器不提示“变量未初始化”。
- 分析:input表单输入框默认提示信息(较好的js样式)
- [转]Symbian开发提示(1)
- Web 开发中 9 个有用的提示和技巧
- Windows NT 驱动程序开发人员提示——应注意避免的事项
- android开发---修改默认界面的背景色
- (ipad/iphone开发)分享一个好工具,一个检测当前json为何不能解析的网站
- input默认提示取消
- VC++开发的ActiveX如何加入安全机制,避免IE中提示“在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗?”
- 【微信开发】JS和PHP分别判断当前浏览器是否微信浏览器