akula 发表于 2017-10-30 17:36:48

关于viewer

①ActiveReport的Viewer自带的工具栏中的打印按钮,按下后弹出一个PrintDialog,我能获得这个对象吗?或者我能获得这个对话框的返回值吗?



SectionDocument类有没有什么方法可以转换成PrintDocument,以便我自定义的PrintDialog使用

KearneyKang 发表于 2017-10-30 17:52:28

第一个问题,打印调用的是浏览器的打印,所以浏览器是没有返回值的。
第二个问题
打印后台有两种写法,一种是区域报表 sectionDocument.Print(true, true, false);

一种是页面报表,pageDocument.Print(True, True, False)
没有你说的这种转换

akula 发表于 2017-10-30 18:32:45

①不是浏览器打印,用的是GrapeCity.ActiveReports.Viewer.Win.Viewer,工具栏有个打印按钮

KearneyKang 发表于 2017-10-31 10:01:02

您好!
你说的这个Winform平台下的基于Viewer的打印,首先这个打印是集成好了的,您可以 点击工具栏的打印按钮来实现。
还有一种办法就是您通过自定义打印来实现。
这就是首先您自己给打印写一个_click的触发事件,然后在该触发事件下进行打印方法的设置,打印的方法的核心代码就是
GrapeCity.ActiveReports.PrintExtension.Print(_document, true, true);附件是一个参考的自定义打印的demo

akula 发表于 2017-10-31 11:11:30

PrintExtension的这种方法,我能对弹出printdialog进行修改吗?比如我要修改默认使用的打印机

KearneyKang 发表于 2017-10-31 13:42:45

document.Printer.PrinterSettings.PrinterName = printerName;
printName就是打印机的名称
可以参考demo

akula 发表于 2017-11-1 14:50:26

非常感谢,PrintExtension可以满足我的需求

KearneyKang 发表于 2017-11-1 15:32:17

不客气!祝您工作愉快:)
页: [1]
查看完整版本: 关于viewer