C# WinForm报表测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WinForm 中使用报表
开发平台: 【Windows 8.1】 【Visual Studio 2013】 【Access】 【罗斯文 2007.accdb】 程序运行结果:
1. 新建 C#工程
新建一个 Windows 窗体应用程序,命名为“WinForm 报表测试”; 将主窗体 name 属性设置为 FormMain,并将 Text 属性设置为 WinForm 报表测试。
2. 添加 Access 数据库连接
在服务器资源管理器→右键选择数据连接→添加链接, 打开添加链接对话框, 并选择已 经下载的“罗斯文 2007.accdb”文件,待测试连接成功后,关闭对话框; 向窗体中添加一个 ReportViewer 控件和两个 Button 控件,并设置相应的 Name 和 Text 属性; Name reportViewMain buttonRpProducts buttonRpOrders Report Products Report Orders Text
3. 添加数据集
在解决方案资源管理器中右键点击方案并选择添加→新建项, 向解决方案中添加两个数
据集 ProductsDataSet 和 OrdersDataSet。
4. 添加报表
在解决方案资源管理器中右键点击方案并选择添加→新建项, 向解决方案中添加两个报 表文件 ReportProducts.rdlc 和 ReportOrders.rdlc;两个 Report 文件的属性中,“复制到 输出目录”要选为“始终复制到输出目录”
5. 设置报表数据源
在报表数据中→右键点击数据集→添加数据集→打开报表向导; 在报表向导中,分别设置两个报表的数据集属性,如下图
6. 设计报表
在工具箱中将表格工具拖入报表设计器中, 并多添加几列, 并向表格中每一列设置数据 绑定,如下图:
7. 源代码:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. using System; using System.Collections.Generic; using ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.OleDb; namespace WinForm 报表测试 { public partial class FormMain : Form { public FormMain() { InitializeComponent(); } private void FormMain_Load(object sender, EventArgs e) { //this.reportViewerMain.RefreshReport(); } private void buttonRpProducts_Click(object sender, EventArgs e) { DataSets.ProductsDataSet ProductsDS = new DataSets.ProductsDataSet();//定义数据集对象 string StrCommand = "SELECT * FROM 产品";//定义 SQL 命令 string StrRDLCFile = @"Reports\ReportProducts.rdlc";//指定报表文件 string StrReportDS = "RpProductsDataSet";//指定报表使用的报表数据集 GetReport(ProductsDS, StrCommand, StrRDLCFile, StrReportDS, false); } private void buttonRpOrders_Click(object sender, EventArgs e) {
38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.
DataSets.OrdersDataSet ProductsDS = new DataSets.OrdersDataSet();//定义数据集对象 string StrCommand = "SELECT * FROM 订单";//定义 SQL 命令 string StrRDLCFile = @"Reports\ReportOrders.rdlc";//指定报表文件 string StrReportDS = "RpOrdersDataSet";//指定报表使用的报表数据集 GetReport(ProductsDS, StrCommand, StrRDLCFile, StrReportDS, false); } ///