Java报表软件数据钻取在一个页面展开

转载 2011年07月30日 11:57:28
       有一些客户希望在一个页面打开数据钻取的全部内容,这个功能可以利用iframe在自定义浏览界面解决,下面以一个简单的例子来说明:

1.         创建子模板son

1.1          打开Java报表软件设计器,新建工作簿,添加参数获取数据集SELECT * FROM STSCORE where classno = '${class}',设置参数class默认值Class1,合并A1至F12单元格,插入柱状图,绑定数据如下表:

Java报表软件数据绑定 

1.2          下一步去掉iframe里的工具栏:打开报表|报表Web属性|分页预览设置,清空所有按钮,取消页面样式

1.3          保存模板到%FR_HOME%\WebReport\WEB-INF\reportlets\son.cpt

2.         创建主模板father     

2.1   新建工作簿,获取数据集SELECT * FROM STSCORE,配置数据如下表:

Java报表软件数据配置 

2.2  右击A2单元格,设置超级链接,增加网络报表1,选择网络报表%FR_HOME%\WebReport\WEB-INF\reportlets\son.cpt。取消显示在原有报表页面的勾选,在网络报表页面显示样式右边的空白输入inner2,插入报表参数class的值为A2,如图

Java报表软件超链设置 

2.3   去掉iframe里的工具栏,具体操作同子模板son

2.4   稍作美观,保存模板到%FR_HOME%\WebReport\WEB-INF\reportlets\father.cpt

 

3.         创建HTML文件iframe.html,源代码如下:

<html>

<head>

<title>自定义浏览页面</title>

<meta http-equiv="Content-Type" content="text/html; charset=GBK">

<script type="text/javascript" src="/WebReport/ReportServer?op=resource&resource=/com/fr/web/jquery.js"></script>

<script type="text/javascript">

window.onload = function(){

       reportFrame = document.getElementById("reportFrame").contentWindow.contentPane;

       reportFrame.on("afterload", function(){    

            // currentPageIndex是从1开始的

           var cPageIndex = reportFrame.currentPageIndex;   

           var pv = "第" + cPageIndex + "页/共" + reportFrame.reportTotalPage +  "页"; 

           $("#pnum").val(pv);

       });

}

</script>

</head>

 

<body>

<div id="toolbar" >    

<button type="button" onclick="reportFrame.gotoFirstPage()">首页</button>

<button type="button" onclick="reportFrame.gotoPreviousPage()">上一页</button>    

<input id="pnum" type="text" readonly="true" style="width:80px"> 

<button type="button" onclick="reportFrame.gotoNextPage()">下一页</button>    

<button type="button" onclick="reportFrame.gotoLastPage()">末页</button>    

<button type="button" onclick="reportFrame.pageSetup()">页面设置</button>    

<button type="button" onclick="reportFrame.pdfPrint()">客户端PDF打印</button>

<button type="button" onClick="reportFrame.flashPrint()">客户端FLASH打印</button> 

<button type="button" onclick="reportFrame.printReportServer()">服务器打印</button> 

<button type="button" onClick="reportFrame.exportReportToExcel('page')">导出[Excel](分页)</button>

<button type="button" onClick="reportFrame.exportReportToWord()">导出[Word]</button>

<button type="button" onclick="reportFrame.exportReportToPDF()">导出[PDF]</button>    

<button type="button" onclick="reportFrame.emailReport()">邮件</button>  

</div>

<p align="center">

       <iframe id="reportFrame" src="/WebReport/ReportServer?reportlet=father.cpt" frameborder="0"  width = "800" height = "128" ></iframe>

       <iframe id="inner2" name="inner2" frameborder="0" width = "800" height = "300"></iframe>

       </p>

</body>

</html>

注意:其中代码<iframe id="inner2" name="inner2" frameborder="0" width = "800" height = "300"></iframe>表示把主模板链接的子模板显示在一个iframe中

 

4.       预览

打开内置服务器,在浏览界面输入URL地址:

http://localhost:8075/WebReport/iframe.html,效果如图:

Java报表软件预览 

这样,链接的报表直接出现在了被链接的报表下面

文章转自:http://blog.vsharing.com/fanfanzheng/A1385794.html

相关文章推荐

报表开发FineReport数据钻取

报表开发FineReport数据钻取 1. 问题描述 报表系统中数据的钻取是一个普遍的需求,如下图点击订单ID的时候能够钻取到该订单的明细数据。 FineReport报表通过超级...

ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)

在 ActiveReports 中可以动态的显示或者隐藏某区域的数据,通过该功能用户可以根据需要显示或者隐藏所关心的数据,结合数据排序、过滤等功能可以让用户更方便地分析报表数据。 本文中展示的是销售...

C#Winform钻取子报表功能

一、建立DataSet文件,加入相关联的两张表,注意里面有共同字段depid ,后期用于参数查找相应的报表 二、建立连张Report报表(Parent中加入dataTable绑定Dep 表   ...
  • pp_fzp
  • pp_fzp
  • 2016年02月22日 10:59
  • 332

RDLC报表的WPF的钻取实现

  • 2016年09月26日 17:06
  • 589KB
  • 下载

RDLCDR钻取报表设计案例源码

  • 2012年11月18日 10:46
  • 313KB
  • 下载

使用RDLC报表(四)--钻取式报表

本文内以MSServer自带Northwind库文件内的Customers及Orders这两个表为例,建立两个报表文件,在查询得出Customers的表数据后,点击此表内的CustomerID数据,报...

rdlc钻取报表案例

  • 2013年01月31日 13:33
  • 71KB
  • 下载

reportviewer 钻取报表示例

  • 2011年08月21日 07:12
  • 15KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java报表软件数据钻取在一个页面展开
举报原因:
原因补充:

(最多只允许输入30个字)