ASP.NET MVC调用Delphi开发的Web报表打印activex组件
2010-05-20 14:40
906 查看
最近需要做打印发货单的功能,以前用delphi的reportmachine控件做报表,功能很强大,可以设计报表并且报表文件和程序分离,优点
就不多说了,这次需要连纸打印,于是想到用activex组件开发打印组件。
这样这个教程就分为两部分,一部分说Delphi的activex组件开发,另一部说ASP.NET
MVC
如
何调用activex组件进行打印。
1.Delphi开发Activex组件
创建一个ActiveXform项目,如图所示:
创建activexform
设置项目发布选项,需要提醒的是由于Delphi7的bug,只在第一次创建项目后能够设置Web
Deploy选择,等关闭项目再打开就不能设置了,这个需要注意!
设置activexform项目
拖拽RMRport控件到窗体中,拖拽RMUserDataset组件到窗体,这个适用于传递数据给RMReport报表打印用的,
添加RMReport打印组件到窗体
设置RMReport1的DataSet属性为RMUserDataset1
声明对外方法和属性:
选择View->TypeLibrary
实现print方法打印
注册Activex组件
编译生成Activex组件
到此已经成功创建了一个带打印功能的ActiveX组件,具体如何使用ReportMachine报表组件的教程,稍后我会写个详细的教程
下面就是.Net如何调用Activex组件了。
2.ASP.NET
MVC
调用Activex组件打印
[b]
[/b]
1.添加Activex组件的引用
[b]
[/b]
2.选择Delphi的报表Activex组件
[b]
[/b]
3.引用报表文件到Content文件夹
4.在About.aspx.cs的onload时间中调用Delphi的Activex组
件声明的print方法进行打印,需要赋予服务器上report.rmf也就是报表文件的绝对地址给print方法,这样报表组件才能正确加载报表文件,
具体代码如下:
查
看源代码
打
印
帮
助
5.发布站点,点击AboutUs链接会弹出报表预览打印窗口,最终效果如下:
打
印效果最终效果
就不多说了,这次需要连纸打印,于是想到用activex组件开发打印组件。
这样这个教程就分为两部分,一部分说Delphi的activex组件开发,另一部说
如
何调用activex组件进行打印。
1.Delphi开发Activex组件
创建一个ActiveXform项目,如图所示:
创建activexform
设置项目发布选项,需要提醒的是由于Delphi7的bug,只在第一次创建项目后能够设置Web
Deploy选择,等关闭项目再打开就不能设置了,这个需要注意!
设置activexform项目
拖拽RMRport控件到窗体中,拖拽RMUserDataset组件到窗体,这个适用于传递数据给RMReport报表打印用的,
添加RMReport打印组件到窗体
设置RMReport1的DataSet属性为RMUserDataset1
声明对外方法和属性:
选择View->TypeLibrary
实现print方法打印
注册Activex组件
编译生成Activex组件
到此已经成功创建了一个带打印功能的ActiveX组件,具体如何使用ReportMachine报表组件的教程,稍后我会写个详细的教程
下面就是.Net如何调用Activex组件了。
2.
调用Activex组件打印
[b]
[/b]
1.添加Activex组件的引用
[b]
[/b]
2.选择Delphi的报表Activex组件
[b]
[/b]
3.引用报表文件到Content文件夹
4.在About.aspx.cs的onload时间中调用Delphi的Activex组
件声明的print方法进行打印,需要赋予服务器上report.rmf也就是报表文件的绝对地址给print方法,这样报表组件才能正确加载报表文件,
具体代码如下:
查
看源代码
打
印
帮
助
01 | using System; |
02 | using System.Collections.Generic; |
03 | using System.Linq; |
04 | using System.Web; |
05 | using System.Web.Mvc; |
06 | using ActiveFormProj1; |
07 |
08 | namespace TangCMS.Views.Home |
09 | { |
10 | public partial class About: |
11 | { |
12 | protected override void OnLoad(EventArgs e) |
13 | { |
14 | //声明Activex组件的ActivexForm对象 |
15 | ActiveFormX new ActiveFormX(); |
16 | //调用Activex组件声明的print方法 |
17 | string file=Server.MapPath( "~/content/report.rmf" ); |
18 | report.Print(file); |
19 |
20 | } |
21 | } |
22 | } |
打
印效果最终效果
相关文章推荐
- [原创]ASP.NET MVC调用Delphi开发的Web报表打印activex组件
- FastReport ASP.Net开发Web报表时直接打印的问题
- 提问过“传统asp.net开发web中调用mvc地址格式的好处?”之后~~~
- ASP.NET MVC 4 Web 编程-Chap02 ASP.NET Web Form 开发人员必读
- AngularJS ,ASP.NET MVC – 新Web模块化开发
- [水晶报表小技巧-开发-3]ASP.Net中使用水晶报表10的打印功能
- ASP.NET MVC 框架是 .NET 平台 Web 开发的主流,但是并不适合初学者
- ASP.NET MVC开发:Web项目开发必备知识点
- B/S开发框架(asp.net mvc + web api + easyui)
- ASP.NET中应用XML技术实现Web报表打印
- Web开发中的缓存技术之三:通过ETag实现缓存处理(ASP.NET MVC版)
- 电子书下载:Web开发新体验ASP.NET 3.5 MVC架构与实战
- Delphi开发WebService给ASP.NET调用
- Web开发新体验:ASP.NET 3.5 MVC架构与实战
- EF Database First with ASP.NET MVC: Creating the Web Application and Data Models开发遇到问题的解决办法
- ASP.NET MVC 框架是 .NET 平台 Web 开发的主流,但是并不适合初学者
- (转)第一次发博客-说说我的B/S开发框架(asp.net mvc + web api + easyui)
- 基于ASP.NET MVC框架开发Web论坛应用程序
- 使用Asp.Net MVC开发真正的Web程序
- [开发技巧4]ASP.Net中使用水晶报表10的打印功能