报表和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” >
<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想页面上。