sdy_single 发表于 2015-6-17 17:00:00

C# ActiveReports如何实现批量打印

DataGridViewRow dgvr = this.dataGridView1.Rows;
            string Ry_Code = dgvr.Cells["DGRy_Code"].Value.ToString();


            string url = "jkz.rdlx";
            GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(url));
            report1.Report.ReportParameters.DefaultValue.Values.Add(Ry_Code);

            Print_Set print_Set = Print_SetBLL.GetPrint_Set();
            report1.Report.LeftMargin = print_Set.M_Left.ToString()+"cm";
            report1.Report.TopMargin = print_Set.M_Top.ToString() + "cm";
      
            GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(report1);
            pageDocument.Print();
这是单个打印如何实现批量打印

sdy_single 发表于 2015-6-17 17:14:00

就是打印学生证的话 选几个学生 把学生信息打印进去 塞入一个卡片,打印一个学生信息 ,选几个学生,塞入几个卡片 打几次信息

frank.zhang 发表于 2015-6-17 17:32:00

您好,
根据您的描述我的理解是:由于每次打印的数据不一样,所有是一个队列去打印。
不知我的理解是否正确?

sdy_single 发表于 2015-6-18 08:54:00

回复 3楼frank.zhang的帖子

是这种,现在我这边能循环,但是每打印一张就弹出一个选择打印机的框,能不能去掉

frank.zhang 发表于 2015-6-18 10:55:00

您好,
您可以使用带有参数的Print方法
pageDocument.Print(false, false, false);
前两个参数是控制弹出打印对话框的。



参考文档:
ActiveReports9.chm
ActiveReports 9 > ActiveReports User Guide > How To > Print Methods In ActiveReports

sdy_single 发表于 2015-6-18 11:16:00

回复 5楼frank.zhang的帖子

但是这样的话默认的打印机怎么设置,还是只要默认打印机了,就自动选取默认的

frank.zhang 发表于 2015-6-18 11:20:00

您好,
您需要注意操作系统中设置图中的两个属性。一个表示使用哪个打印机,另外一个设置纸张的大小。

sdy_single 发表于 2015-6-18 11:44:00

回复 7楼frank.zhang的帖子

已解决结贴

frank.zhang 发表于 2015-6-18 12:17:00

感谢您解决问题后对我们反馈,给您分发 100 金币。可以用于兑换论坛奖品。
金币规则:点击进入
礼品列表:点击进入
页: [1]
查看完整版本: C# ActiveReports如何实现批量打印