单元格超链接

阅读(5285) 标签: 单元格超链接, 钻取,

对单元格添加超链接是报表必不可少的一部分,如下图通过单元格超链接传递雇员名称和地区,实现对雇员在某地区的订单明细查询:

第一步:新建如下所示的报表,将报表保存为明细.rpx

新建报表,通过“报表-> “数据集”菜单,增加数据集:

ds1SELECT 订单.订单ID,订单.订购日期,订单.货主名称,订单.货主城市,订单.货主国家,订单.订单金额,订单.货主地区,订单.雇员ID,雇员.姓氏,雇员.名字 FROM 订单,雇员 where 订单.雇员ID=雇员.雇员ID  and (雇员.姓氏+雇员.名字)=? and  订单.货主地区=?

点击“报表-> “参数”,添加参数列表:

在报表参数菜单中添加name(雇员姓名)region(地区)两个参数,ds1数据集中通过对这两个参数值进行查询,返回满足条件的地区订单明细结果。

 

第二步:添加超链接

用设计器打开报表统计图钻取.rpx,通过在单元格中加入超链接将雇员姓名和地区做为name(雇员姓名)region(地区)的参数值传递给明细.rpx,实现钻取效果。

在地区单元格即A11单元格中加入超链接;选中A11单元格,在右侧属性栏设置超链接。

由于报表是自动扩展出来的,不是一个静态的表格,所以不能也不需要在扩展出来的每个格子设置超链。只需在一个单元格设置超链接属性,那么该属性就会跟着扩展格复制到每个地区格子里,点击每个地区,其实是把对应的地区、销售姓名这些信息传给明细报表了,从而实现了钻取明细。

 

单元格的超链接属性,可以是属性【值】,也可以是【表达式】。如果超链接字符串不需要动态生成,可以直接在属性【值】中写所要链接的路径。如果超链接字符串需要根据单元格或者参数值动态生成,则需要在超链接【表达式】中写所要连接的路径。

 

因为我们示例中的链接是动态的所以需要在【表达式】中写入链接:

"reportJsp/showReport.jsp?rpx="+ urlencode("明细.rpx","UTF-8") + "&name="+@姓名+"&region="+value()

 

注意:

(1)&region表示参数-地区,&name表示参数-姓名如果超链接中要传递多个参数时,各个参数中间用&符号分隔。明细.rpx表示链接目标页面用于显示地区的订单明细,这个表中需要加入你从点击链接页面传入的地区和姓名这两个参数。

(2)超链接中报表路径可使用相对路径,相对【报表安装目录】\raqsoft\report\web\webapps\demo\WEB-INF\reportFiles。此例需将第一步中新建的报表保存至该目录下。

 

第三步:发布预览统计图钻取.rpx,查看效果