图解机房收费系统报表制作的全过程

来源:互联网 发布:java启动spring容器 编辑:程序博客网 时间:2024/04/29 23:52

在学习vb6.0时,使用的报表是第三方的Grid++Report,纠结了一番,现在换到了VB.Net,又花费了一天的时间来学习。不过感觉还是很有收获,拿出来分享一下。


第一阶段【添加数据集】
















经过简单的设计出现下图:


下面的图显示的添加报表Reporting



(注意:必须选中Report.dlc)



注意:添加数据集(右击)


第二阶段【连接数据库】


添加我们需要连接到数据库中的表,如下的表


下面就是连接数据库的简单过程了,按图索骥即可。





下面一定的选择你将要打印报表的数据表



第三阶段【设计报表】









第四阶段【编程部分】

首先在窗体代码页最上面引入2个命名空间

首先在窗体代码页最上面引入2个命名空间

Imports System  

Imports Microsoft.Reporting.WinForms  

双击查询,打开Click事件:

Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click  

  1.   
  2.         Dim dt As DataTable  
  3.         Dim CheckWeekMgr As New  CheckWeekLogMgr   
  4.           
  5.         '大家可以自己的实际情况查询数据。我这里用了分层,查询的具体实现不在这层。   
  6.         If chkEnd.Checked Then  
  7.             If chkUser.Checked Then  
  8.                 '获取记录   
  9.                 dt =  CheckWeekMgr.QueryCheckLog(cmbUserID.Text, dtpStart.Text, dtpEnd.Text)  
  10.             Else  
  11.                 '获取记录   
  12.          dt =  CheckWeekMgr.QueryCheckLog(dtpStart.Text, dtpEnd.Text)  
  13.             End If  
  14.         Else  
  15.             '获取记录   
  16.             dt =  CheckWeekMgr.QueryCheckLog(dtpStart.Text)  
  17.         End If  
  18.   
  19.         '【这里是重点】   
  20.         '声明一个报表数据源对象   
  21.         Dim rptDataSource As New ReportDataSource  
  22.   
  23.         '设置报表数据源名称,这个名称必须与你创建数据集时起的名称一致。   
  24.         rptDataSource.Name = "Check"  
  25.         '设置报表数据源实例   
  26.         rptDataSource.Value = dt  
  27.   
  28.         '设置嵌入报表的资源的名称   
  29.         ReportViewer1.LocalReport.ReportEmbeddedResource = "UI.CheckWeek.rdlc"  
  30.         '清空报表数据源   
  31.         ReportViewer1.LocalReport.DataSources.Clear()  
  32.         '添加报表数据源   
  33.         ReportViewer1.LocalReport.DataSources.Add(rptDataSource)  
  34.   
  35.         '设置报表中的参数集合,这里传递的参数,名字大小写必须一致,   
  36.         '且其本身数据类型必须与报表中定义的数据类型也必须一致。   
  37.         Dim params() As ReportParameter =  
  38.             {  
  39.  
  40.                 New ReportParameter("DateStart", Date.Parse(dtpStart.Text)),  
  41.                 New ReportParameter("DateEnd", Date.Parse(dtpEnd.Text))   
  42.             }  
  43.   
  44.         '传递报表中的参数集合   
  45.         ReportViewer1.LocalReport.SetParameters(params)  
  46.   
  47.         '刷新报表   
  48.         Me.ReportViewer1.RefreshReport()  
  49.   
    End Sub  

现在一切OK了,运行部分就交给你自己测试了。我也算初识报表吧,如果有什么错误的地方,欢迎大家指正,大家共同探讨,共同进步。

原创粉丝点击