现在有好多客户在.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想页面上。

报表和aspx结合后在aspx页面实现工具栏的方法的更多相关文章

  1. Spring Boot 打war包后自定义404页面不生效解决方法

    最近做一个项目,自定义了404页面,本地测试可以到自定义页面,但是打包放到tomcat里面就不行.搞了一天终于看到一个比较正确的方法.下面附上连接,非常感谢各位博主们 1.https://blog.c ...

  2. 用juery的ajax方法调用aspx.cs页面中的webmethod方法示例

    juery的ajax调用aspx.cs页面中的webmethod方法:首先在 aspx.cs文件里建一个公开的静态方法,然后加上WebMethod属性,具体实现如下,感兴趣的朋友可以参考下哈,希望对大 ...

  3. Html中设置访问页面不在后进行其他页面跳转

    Html中设置访问页面不在后进行其他页面跳转 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  4. 关闭rdlc报表打印预览后,关闭客户端,抛出异常“发生了应用程序级的异常 将退出”

    问题:关闭rdlc报表打印预览后,关闭客户端,抛出异常“发生了应用程序级的异常 将退出” 办法:在容纳ReportViewer的窗体后台代码中,添加如下代码即可 protected override ...

  5. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法

    博客分类: jquery-easyui jQueryAjax框架HTML  现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...

  6. angular4.0项目build发布后,刷新页面报错404

    angular4.0项目执行npm run build后,进入页面正常显示. 但是当刷新页面时,报错404,页面未找到. 出现这个问题的原因,应该是找不到路由地址导致的,然后找到了下面的解决方案. 找 ...

  7. ScrollView嵌套ListView后,进入页面不从顶部开始显示的问题解决

    ScrollView嵌套ListView后,进入页面不从顶部开始显示的问题解决 首先,正常情况下,如果在ScrollView里嵌套ListView后,会发现ListView只显示1条数据 那么,为了解 ...

  8. Ionic3关闭弹出页面,跳转到列表后刷新父页面

    记得上次写过一篇如何弹出页面的文章,好像是2月28号ionic3 Modal组件那一篇,这篇也算那一篇的续集吧!这篇是弹出的页面关闭后刷新父页面的干活!上代码! 弹出页面:(关闭的时候可以传入值,再父 ...

  9. Tomcat启动后,访问页面报404错误解决方法

    Tomcat正常启动后,出现如下情况 提供一个参考解决方法: 1.双击servers 2.把Server Locations设置为User Tomcat installation 保存后再次访问页面就 ...

随机推荐

  1. Collection、Set、List概念上的区别及关联

    类图如下:

  2. tensorflow初次接触记录,我用python写的tensorflow第一个模型

    tensorflow初次接触记录,我用python写的tensorflow第一个模型 刚用python写的tensorflow机器学习代码,训练60000张手写文字图片,多层神经网络学习拟合17000 ...

  3. SQL查询排名第二名的信息

    今天看见同学去面试的面试题,查询出某个字段排名第二名的信息,自己就看看 如果是Oracle ,这不就是考察Oracle分页么,以Oracle的emp表为例,根据薪水排名,查询排名第二的员工信息: se ...

  4. 查看LINUX 系统硬件等详细信息

    转载这位朋友[地址] 几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核(假设cpu配置相同) mor ...

  5. 关于Oracle中的字符的比较

    1.Oracle比较字符串是根据ASCII码来的,第一个字母的ASCII大小比较如果相等再比较下一个: 函数来说明: CREATE OR REPLACE FUNCTION MinOrMax(para1 ...

  6. 【Express系列】第2篇——主程序的改造

    上一篇对项目的目录结构和 app.js 等一些文件做了一些改造,然而那只是开始. 接下来将做进一步的改造和完善. 我们先看看几个主要的脚本文件,下面的代码是我稍微修改过并添加注释的,方便理解每句代码的 ...

  7. Boosting和Bagging的异同

    二者都是集成学习算法,都是将多个弱学习器组合成强学习器的方法. 1.Bagging (主要关注降低方差) Bagging即套袋法,其算法过程如下: A)从原始样本集中抽取训练集.每轮从原始样本集中使用 ...

  8. 数据库应用(Mysql、Mongodb、Redis、Memcached、CouchDB、Cassandra)

    目前,主流数据库包括关系型(SQL)和非关系型(NoSQL)两种. 关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,支持复杂的事物处理和结构化查询.代表实 ...

  9. WPF中List的Add()与Insert()方法的区别

    先来看看定义: // Summary: // Adds an object to the end of the System.Collections.Generic.List<T>. // ...

  10. css !important的作用

    css !important的作用是提高指定CSS样式规则的应用优先权. 注意:这个不是万能的,在神奇的IE6下仍然有问题,请参见:http://www.w3chtml.com/css3/rules/ ...