在vs2012中,基于vb.net环境开发了一个机房收费系统,在这个系统中用到了报表。什么是报表?
过去没有计算机的时候,我们算账,记录信息等都在纸上进行,就是列账单清单,通过账单,所需要的信息一目了
然。 在计算机的年代,取缔了手写+纸质账单,用软件来制作清单。这是我用Report.rdlc控件做的一个简单的报表。
设计
制作报表
(1)在UI层添加报表
(2)选择报表控件,并命名控件为weelyReport
(3)右击,添加数据集
(4)新建数据源
(6)添加连接
(7)在经过几步操作就到了下面的页面
(8)参数添加后,拖拽到相应文本框中
(9)点击圈中的部分,与数据列绑定
给参数传值
Private Sub cmdRefresh_Click(sender As Object,e As EventArgs) Handles cmdRefresh.Click Dim getdate As New Entity.DayCheckBillEntity getdate.SelectDate = dtpstart.Text getdate.SelectEndDate = dptend.Text Dim check As New Facade.DayCheckBillFacade Dim dt As DataTable dt = check.WeeklyCheckInfo(getdate) '更具条件查询得到一个表 Dim rptDataSource As New ReportDataSource '声明一个报表数据源对象 rptDataSource.Name = "weeklyDataSet" ' 设置报表数据集名称 rptDataSource.Value = dt '设置报表数据源实例 ReportViewer1.LocalReport.ReportEmbeddedResource = "UI.weeklyReport.rdlc" ReportViewer1.LocalReport.DataSources.Clear() ReportViewer1.LocalReport.DataSources.Add(rptDataSource) Dim userid As New Entity.SharedEntity Dim paras() As ReportParameter = {New ReportParameter("UserId",userid.UserId),New ReportParameter("startdate",dtpstart.Text.Trim),New ReportParameter("enddate",dptend.Text.Trim) } ReportViewer1.LocalReport.SetParameters(paras) Me.ReportViewer1.RefreshReport() End Sub
小结
这块内容很重要,在做报表的时候难住我了,之前是不懂,索性就粘贴了一段代码,后来发现不能给参数传值。
是因为不懂,盲目跟从才导致问题难以解决,后来明白其中的道理后,感觉做这种简单的报表简单多了。算是学习阶
段中一点小收获吧。