找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou8

银牌会员

67

主题

191

帖子

2047

积分

银牌会员

积分
2047

活字格认证微信认证勋章元老葡萄

CanYou8
银牌会员   /  发表于:2015-4-20 16:55  /   查看:8903  /  回复:6
目前我们的ActiveReports 报表是这样的实现思路:设计报表模板,上传到指定位置;程序在触发报表预览功能时加载模板并传参,渲染预览窗口;之后打印或导出。
渲染报表的关键代码:
  1. pageReport = new PageReport(new FileInfo(TemplatePath));
  2. pageDocument = new PageDocument(pageReport);
  3. reportsViewer.LoadDocument(pageDocument);
复制代码

现在有两个问题希望得到帮助:
1.如何实现不预览直接打印的效果?
2.如何实现批量打印的效果?

6 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-4-20 17:15:00
沙发
您好,
第一个问题,我理解是不在页面上展示,直接点击button,就可以打印。
第二个问题,批量打印是指一张连续打印多次吗?
回复 使用道具 举报
CanYou8
银牌会员   /  发表于:2015-4-20 17:31:00
板凳
第一个问题,是不在页面上预览;点击button按钮直接开始打印,或者弹出打印设置页也可以
第二个问题,假如有一个客户信息模板,需传递客户ID。我在页面上选择了10个客户,那么就有10个客户ID,调用客户信息模板逐个打印出这10个客户的信息。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-4-20 17:40:00
地板
您好,
第一个问题,我们有一篇博客,您可以参考下
http://blog.gcpowertools.com.cn/ ... ts_DirectPrint.aspx
回复 使用道具 举报
CanYou8
银牌会员   /  发表于:2015-4-21 14:33:00
5#
回复 4楼frank.zhang的帖子

例子使用的是WebViewer 控件,而我现在用的是WPF。参考例子的代码,我没有在WpfViewer里找到类似的属性,WPF要如何处理呢?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-4-21 16:35:00
6#
您好,
我们这边的思路是,隐藏Viewer,设置为Hidden。
然后通过button打印。
  1.         private void button1_Click(object sender, RoutedEventArgs e)
  2.         {
  3.             viewer1.Print(true, true, true);
  4.         }
复制代码






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-4-23 11:51:00
7#
您好,
我们这边尝试了下,可以用以下代码实现
  1.             string file_name = @"..\..\RdlReport1.rdlx";
  2.             GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(new
  3. System.IO.FileInfo(file_name));
  4.             GrapeCity.ActiveReports.Document.PageDocument pageDocument = new
  5.             GrapeCity.ActiveReports.Document.PageDocument(pageReport);
  6.             pageDocument.Printer.Print();
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部