报表和aspx结合后在aspx页面实现工具栏的方法

 

现在有好多客户在.net中用到了快逸报表,主要方法是把报表部署在一个j2ee应用中,.net部署在IIS中,把报表嵌入到aspx页面中的iframe里面。如果原本aspx页面中一些按钮或者工具,报表页面也有一个工具栏,如何让两部分的工具栏集合在一起呢。下面介绍一种把报表的工具栏迁移到aspx页面的方法。

首先要在aspx页面中得到iframe的对象,然后通过这个对象得到发布报表tag标签中的name属性值,得到name后就可以调用快逸提供的js方法实现保存、导出word、导出pdf、导出excel、上一页、下一页等功能了。下面列出代码演示一下

发布报表的标签(jsp页面中)

<report:html name=”report1″ //注意标签中name的属性值,在aspx页面中会用到

reportFileName=”<%=report%>”

funcBarLocation=”"

needPageMark=”yes”

generateParamForm=”no”

needLinkStyle=”yes”

params=”<%=param.toString()%>”

exceptionPage=”/reportJsp/myError2.jsp”

/>

Aspx页面代码

<head>

<table id=titleTable width=100% cellspacing=0 cellpadding=0 border=0 ><tr>

<td height=”22″ width=100% valign=”center” style=”font-size:13px”>

<table width=”100%”><tr>

<td width=53% align=”center” style=”font-size:13px” >&nbsp;&nbsp;&nbsp;&nbsp;

<td width=”47%” align=”center” valign=”middle” style=”font-size:12px” >

<!–返回到最前页,先得到发布报表tag标签中name属性值,然后用快逸提供的toPage函数–>

<a href=’#’ onClick=’try{document.frames.reportFrame.report1_toPage( 1 );}catch(e){}return false;’>最前页</a>

<!–到上一页–>

<a href=’#’ onClick=’try{document.frames.reportFrame.report1_toPage(document.frames.reportFrame.report1_getCurrPage()-1);}catch(e){}return false;’>上一页</a>

<!–到下一页–>

<a href=’#’ onClick=’try{document.frames.reportFrame.report1_toPage(document.frames.reportFrame.report1_getCurrPage()+1);}catch(e){}return false;’>下一页</a>

<!–到最后一页–>

<a href=’#’ onClick=’try{document.frames.reportFrame.report1_toPage(document.frames.reportFrame.report1_getTotalPage());}catch(e){}return false;’>最后页</a>

<!–保存的按钮–>

<a href=”#” onClick=”document.frames.reportFrame.report1_save();return false;”>保存</a>

<!–导出excel的按钮–>

<a href=”#” onClick=”document.frames.reportFrame.report1_saveAsExcel();return false;”>导出excel</a>

<!–导出word的按钮–>

<a href=”#” onClick=”document.frames.reportFrame.report1_saveAsWord();return false;”>导出word</a>

<!–导出pdf的按钮–>

<a href=”#” onClick=”document.frames.reportFrame.report1_saveAsPdf();return false;”>导出pdf</a>

</td>

</tr></table>

</td></tr>

</table>

</head>

<body>

<% //访问报表的局域网路径

String url = “http://127.0.0.1:6001/demo/reportJsp/test.jsp?raq=/report_1.raq”;

%>

<!–嵌入的iframe–>

<iframe src=”<%=url%>” frameborder=0 id=”reportFrame” name=”reportFrame” scrolling=”yes” height=”100%” width=”100%”></iframe>

</body>

页面效果

总结:如果以后要在asp想上发布快逸报表就可以按照上面的方法实现了,报表的功能条还能放在asp想页面上。

热门文章