当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET水晶报表实现打印功能

ASP.NET
ASP.NET 2.0服务器控件开发的基本概念
教你如何实现ASP.NET中网站访问量的统计
.Net基础:ASP.NET网站开发的架构设计
ASP.NET应用技巧:非托管COM组件的使用
.Net基础:ASP.NET中的session存储模式运用
.Net的精髓——XML和SOAP
.NET 4.0改进的介绍
使用.NET正则表达式区分中英文
ASP.NET开发中关于Web标准的几点建议
ASP.NET开发安全问题
谈.NET反射的封装
ASP.NET用户控件说明和添加事件
C#编程实现动态生成Word文档
Asp.net2.0之自定义控件ImageButton
.net程序员,该不该学IL?
利用ajax.dll进行asp.net ajax开发
软件编程走火入魔之:女人的脸 男人的代码
分页那回事?
ASP.NET WebForm页面内容输出方式
浅析ASP.NET的IIS映射

ASP.NET水晶报表实现打印功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 230 ::
收藏到网摘: n/a

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印:

1.用IE的打印,调用window.print(),但这种办法对于页面上即有报表,又有其它控件情况就无法区分,不能达到只打印报表内容的目的;

2.自已写打印代码

代码如下:

其中"打印机名称":如果是网络打印机,在打印机名称前面要加上"\\机器名".本地打印机也可以显示在DropDownList控件里让用户选择:

以下为引用的内容:
foreach(string iprt in System.Drawing.Printing.PrinterSettings.InstalledPrinters) 
this.DropDownList1.Items.Add(iprt); 

这个办法可以只打印报表中的内容,缺点就是必须指明打印机名称.如果是本地打印机还好办,可以枚举出来,让用户选择.但如果是网络打印机,似乎就有些麻烦,我还不知道怎么把网络打印机列出来让用户选择,或者自动选默认的网络打印机.

3.导出到PDF或EXCEL或其它格式的文件打印.示例代码如下:
 
报表名称 myrpt=new 报表名称();

以下为引用的内容:
myrpt.ExportOptions.ExportDestinationType=CrystalDecisions.Shared.ExportDestinationType.DiskFile; 
myrpt.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.PortableDocFormat; 
CrystalDecisions.Shared.DiskFileDestinationOptions opt=new CrystalDecisions.Shared.DiskFileDestinationOptions(); 
opt.DiskFileName=@"文件名"; 
myrpt.ExportOptions.DestinationOptions =opt; 
myrpt.Export();