您好,
问题描述:预览的时候,边线以及一些Title项目需要显示。打印不需要显示。
解决思路:
1.设置一个ForPreview参数
2.在需要切换显示的控件上,添加- =IIF( [@ForPreview] = 1, false, true)
复制代码
3.在form上添加两个view分别用于显示和打印
- string file_name = @"..\..\Reports\rptInvoice.rdlx";
- GrapeCity.ActiveReports.PageReport rptPreview = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
- rptPreview.Report.ReportParameters[0].DefaultValue.Values.Add("1");
- GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(rptPreview);
- viewer1.LoadDocument(pageDocument);
- GrapeCity.ActiveReports.PageReport rptPrint = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
- rptPrint.Report.ReportParameters[0].DefaultValue.Values.Add("0");
- GrapeCity.ActiveReports.Document.PageDocument pageDocumentPrint = new GrapeCity.ActiveReports.Document.PageDocument(rptPrint);
- viewer2.LoadDocument(pageDocumentPrint);
复制代码
4.修改ToolStrip工具栏,删除原有打印按钮,添加新的按钮
- viewer1.Toolbar.ToolStrip.Items.RemoveAt(2);
- viewer1.Toolbar.ToolStrip.Items.RemoveAt(1);
- ToolStripButton tsbPrint = new ToolStripButton("Print");
- viewer1.Toolbar.ToolStrip.Items.Add(tsbPrint);
- tsbPrint.Click += new EventHandler(tsbPrint_Click);
复制代码
运行效果:
示例下载:
注:例子中使用的AR版本为7.3.8116.0 |