水晶报表打印

水晶报表打印问题:

ReportDocument aReportDocument = new ReportDocument();

//加载报表

 aReportDocument.Load(@Application.StartupPath + Properties.Settings.Default.MainReportPath);

//子报表数据源

aReportDocument.Subreports["SonRpt.rpt"].SetDataSource(sonDs);

//传递参数

 aReportDocument.SetParameterValue("Name", Class.Name);

//登录

foreach (Table aTable in aReportDocument.Database.Tables)
{
 aTable.LogOnInfo.ConnectionInfo.ServerName = Properties.Settings.Default.ServerName;
 aTable.LogOnInfo.ConnectionInfo.UserID = Properties.Settings.Default.UserID;
 aTable.LogOnInfo.ConnectionInfo.Password = Properties.Settings.Default.Password

 aTable.ApplyLogOnInfo(aTable.LogOnInfo);

}

//指定系统默认打印机位报表打印机

 PrintDocument printDc = new PrintDocument();
 aReportDocument.PrintOptions.PrinterName = printDc.PrinterSettings.PrinterName;

//如果没有上面两句,默认打印机是在水晶报表中指定的
 aReportDocument.PrintToPrinter(1, true, 0, 0);
 aReportDocument.Dispose();

posted @   stoneFang  阅读(131)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示