阅读新闻

ASP.NET里如何实现水晶报表的打印?

[日期:2007-03-15] 来源:  作者: [字体: ]
ASP.NET里如何实现水晶报表的打印?

悬赏分:0 - 解决时间:2006-8-23 19:17
水晶报表的打印在C/S模式下很容易实现,只要调用一个方法就可以,但是在ASP.NET里就困难多了,请问大侠,谁知道怎么实现啊???
小弟急用!!
最佳答案
ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印:
1.用IE的打印.调用window.print(),但这种办法对于页面上即有报表,又有其它控件情况就无法区分,不能达到只打印报表内容的目的;
2.自已写打印代码.
代码如下:

CrystalDecisions.CrystalReports.Engine.ReportDocument rd=new CrystalDecisions.CrystalReports.Engine.ReportDocument();
rd.Load(Server.MapPath("Crystalreport1.rpt"));
rd.PrintOptions.PrinterName="打印机名称";
rd.PrintToPrinter(1,true,0,0);

其中"打印机名称":如果是网络打印机,在打印机名称前面要加上"\\机器名".本地打印机也可以显示在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();

另外给你些参考:
https://secure.crystaldecisions.com/product_details.asp?catalog_name=CD&category_name=CR%20Advanced%20Upgrade&cookie%5Ftest=1

http://www.crystaldecisions.com/products/dev_zone/

参考资料:http://www.5iaspx.com
提问者对于答案的评价:
大侠,非常感谢谢谢您的帮助,rd.PrintToPrinter(1,true,0,0);这个方法中每个参数是什么意思啊??

100% (1)
不好
0% (0)


阅读:
录入:admin

评论 】 【 推荐 】 【 打印
上一篇:.net 2005 打包水晶报表10
下一篇:如何控制水晶报表中的参数?
相关新闻      
本文评论       全部评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款