在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
小结
这块内容很重要,在做报表的时候难住我了,之前是不懂,索性就粘贴了一段代码,后来发现不能给参数传值。
是因为不懂,盲目跟从才导致问题难以解决,后来明白其中的道理后,感觉做这种简单的报表简单多了。算是学习阶
段中一点小收获吧。
原文地址:http://blog.csdn.net/wangju2013/article/details/45955817