java与cognos页面交互_cognos列表与图形联动效果

cognos中有列表和图形,但是表和图之间总是孤立的,刷新页面也都是全页面刷新,于是经理在想,是否有个方法能在点击cognos列

表时旁边的cognos图表能够实时的变动,类似flex中的绑定效果。在老板的强烈催促下,经理也没什么时间去网上去找去问,觉得凭自己以前

的一些J2EE老底子加上report studio中强大的HTML项目貌似可以搞定,于是开搞了...

首先给大家看看数据库

af9b33977503353a345cda0981c98233.png

一、先用report studio建立一个带参数的cognos饼图报表(这里可以随便是什么图),报表灰常简单

e7521da4cf750fff560fc3ecebb64cbf.png

设置参数名为par3,并把此报表保存为a1

二、再用report studio建立一个列表,如图

e221d6ac78d0df6d08c196d2f937ab2f.png

经理在这里多用了html项目,因为cognos在页面上封装的太好了,只能这样拼凑脚本。

基本的原理就是在列表旁边放置一个html项目,其内容是一个iframe,其连接也就是刚刚做好的那个带参数的饼图报表。

然后在列表中放置一个label,在label中设置点击事件出来iframe链接(其实这样就换了一个参数)及重新载入。

其中

1的代码如下,他主要是点击的列表触发的事件

1

4f1150b881333f12a311ae9ef34da474.png

ContractedBlock.gifdot.gif{4InBlock.gif        sname="http://localhost/cognos8/cgi-bin/cognos.cgi?b_action=cognosViewer&ui.object=/content/package[@name='aa']/report[@name='a1']&ui.action=run&run.prompt=false&p_par3="+par;5InBlock.gif        frameChart.location.href=sname;6ExpandedBlockEnd.gif    }7None.gif

2到6主要就是定义一个含有点击事件的label

2的代码为

1

4f1150b881333f12a311ae9ef34da474.png

3其实是一个报表表达式,它是参数

1

4f1150b881333f12a311ae9ef34da474.png[query1].[arr2]

4的代码为

1

4f1150b881333f12a311ae9ef34da474.png');"style="width:100%;height:100%">

5也是一个报表表达式,他是设置该列显示的内容

1

4f1150b881333f12a311ae9ef34da474.png[arr2]

6的代码为,他收个尾

1

4f1150b881333f12a311ae9ef34da474.png

7的代码主要是iframe,然后就是刷新等待时候的一个等待提示

7的代码为

1

4f1150b881333f12a311ae9ef34da474.png24f1150b881333f12a311ae9ef34da474.png

3 4f1150b881333f12a311ae9ef34da474.png      页面加载中

9b8a8a44dd1c74ae49c20a7cd451974e.png44f1150b881333f12a311ae9ef34da474.png

5 4f1150b881333f12a311ae9ef34da474.png

拼滴我累死了.....

OK,我们来看看效果

我先点击一下第一个单元格

dc3d09d263ffcd28cd0808c333c20f82.png

再点击第二个

4abf8f7ead34b99cc6f8f2552e0da4ed.png

注意,列表不会刷新哦,有点像ajax的效果。

后来想想,其实功能挺简单的。

例子比较简陋,只是想传达一个思想,希望以后大家有好东西能一起交流。

posted on 2010-08-20 17:37 张元Won 阅读(4110) 评论(4)  编辑  收藏 所属分类: Cognos

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值