RDLC在不预览的情况下打印本地报表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

演练:在不预览的情况下打印本地报表

Visual Studio 2012

其他版本

Visual Studio 2010

Visual Studio 2008

Visual Studio 2005

此主题尚未评级 - 评价此主题

本演练演示如何使用 LocalReport 对象和 CreateStreamCallback 回调函数以编程方式在不查看的情况下打印报表。

先决条件

您必须具有访问示例报表和数据源的权限。 有关更多信息,请参见用于打印演练的示例数据和报表。

执行下列步骤可创建控制台应用程序项目。

创建新的控制台应用程序项目

1. 在“文件”菜单上,指向“新建”,然后选择“项目”。

2. 在“已安装的模板”窗格中,选择“C#”或“Visual

Basic”。 根据 Visual Studio 中的启动设

置,“C#”或“Visual Basic”节点可能会显示在“其他语

言”下。

3. 在“模板”窗格中,选择“控制台应用程序”。

4. 在“名称”框中,键入项目的名称:PrintLocalReport。

5. 在“位置”框中,输入要保存项目的目录,或者单击“浏

览”以导航到该目录。

6. 单击“确定”。 项目与显示“Program”代码文件的“代

码”窗口一起打开。

添加引用

1. 从“项目”菜单中,选择“添加引用”。

2. 在“添加引用”对话框的“.NET”选项卡上,选择

System.Drawing、System.Windows.Forms 和

Microsoft.ReportViewer.Winforms。

3. 单击“确定”。

添加现有的 report.rdlc 和 data.xml 文件

1. 从“项目”菜单中选择“添加现有项”。 随即将显示“添加

现有项”对话框。

2. 定位到保存 report.rdlc 和 data.xml 的文件夹。 然后选

择这两个文件。

3. 单击“添加”。 这两个文件将作为项目的一部分显示在解决

方案资源管理器中。

添加代码

1. Program 代码文件应该已经打开并处于待编辑状态。 如果该

文件尚未打开,请在“解决方案资源管理器”窗口中双击

Program.cs 或 Module1.vb 文件。

2. 根据您的编程语言选择下面的代码,并用其替

换“Program”文件中的现有代码。

注意

如果您的计算机上没有安装名为 Microsoft XPS

Document Writer 的打印机,请将粗体代码更改为您计算

机上的指定打印机。

3. C#

4. 复制

5. using System;

6. using System.IO;

7. using System.Data;

8. using System.Text;

9. using System.Drawing.Imaging;

10. using System.Drawing.Printing;

11. using System.Collections.Generic;

12. using System.Windows.Forms;

13. using Microsoft.Reporting.WinForms;

14.

15. public class Demo : IDisposable

16. {

17. private int m_currentPageIndex;

18. private IList m_streams;

19.

20. private DataTable LoadSalesData()

21. {

22. // Create a new DataSet and read sales data

file

23. // data.xml into the first DataTable.

24. DataSet dataSet = new DataSet();

25. dataSet.ReadXml(@"..\..\data.xml");

26. return dataSet.Tables[0];

27. }

28. // Routine to provide to the report renderer, in

order to

29. // save an image for each page of the report.

30. private Stream CreateStream(string name,

31. string fileNameExtension, Encoding encoding,

32. string mimeType, bool willSeek)

33. {

34. Stream stream = new MemoryStream();

35. m_streams.Add(stream);

36. return stream;

37. }

38. // Export the given report as an EMF (Enhanced

Metafile) file.

39. private void Export(LocalReport report)

40. {

41. string deviceInfo =

42. @"

43. EMF

44. 8.5in

45. 11in

46. 0.25in

47. 0.25in

48. 0.25in

49. 0.25in

50. ";

51. Warning[] warnings;

52. m_streams = new List();

53. report.Render("Image", deviceInfo,

相关文档
最新文档