水晶报表直接打印问题

lijianqiang 2012-04-20 02:14:48
现在我做的方式是用报表查看器 方法如下:
hzb.SetDataSource(tb_0); //绑定数据源
this.crystalReportViewer1.ReportSource = hzb;
((CrystalDecisions.CrystalReports.Engine.TextObject)hzb.Section1.ReportObjects["ksrq"]).Text = ksrq;//动态改变报表字段值

现在要求直接打印 不预览 也不显示打印机设置窗体 网上方法如下
ReportDocument myReport = new ReportDocument();
string reportPath = Server.MapPath("crystalreport1.rpt");
myReport.Load(reportPath); //报表路径
myReport.PrinttoPrinter(1,false,0,0);

可这种方法加载报表是用的路径 我上面用的方法是实例化的 打包程序不发布报表文件,如何解决

...全文
106 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿泰 2012-04-24
  • 打赏
  • 举报
回复
直接用hzb操作即可
hzb.SetDataSource(tb_0); //绑定数据源
((CrystalDecisions.CrystalReports.Engine.TextObject)hzb.Section1.ReportObjects["ksrq"]).Text = ksrq;//动态改变报表字段值
hzb.PrinttoPrinter(1,false,0,0);
xxjltan 2012-04-23
  • 打赏
  • 举报
回复
参考下面的吧
PrintDialog print = new PrintDialog();
print.ShowDialog();//选择打印机
PrintUPSCrystalReport ups = new PrintUPSCrystalReport();//报表设计
ups.SetParameterValue("Code", "PH20120327");//设置参数
ups.SetParameterValue("Telephone", "123456792");
ups.PrintOptions.PrinterName = print.PrinterSettings.PrinterName;//用选择的打印机进行打印,不选择则用默认打印机打印
ups.PrintToPrinter(1, true, 1, 1);//关键这句,不用预览,直接打印
ups.SetDataSource(dt);//设置数据源

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧