一个星期 又一个星期,犹记第一次敲机房时候的感受,弄报表这一块的时候觉得很乱。这次用.net重构听说VS自带报表功能,心里就开心了不少,结果弄得时候弄了几天没有成功,就开始完善窗体。后来又接着弄,还是没有成功,心里上就有点“怕”了。一提到报表自己第一心态是我不会!今天我想找师傅验收一下,所以下午自己的心里特别的轻松,今天一定要弄出来,就一点点的重头开始做了。最终!我成功的做出来了!开心啊!
在机房中我们有周结和日结,做相应的部分时候创建相应的窗体。现在我以周结账单为例!创建出窗体后将下边的报表控件拖到窗体上!
将日期控件也放到窗体上之后,窗体界面如下:
在上述创建的界面中右击添加表
出现如下的界面,点击新建:
添加完表后界面如下,表头可以单击进行修改,数据区可以点击下图中框出来的地方选择相应数据库中的字段。
这样就完了吗?NO!接下里我们再回到周结账单的窗体上。在下图中的小三角中选择报表。
选择好报表后进行配置:
点击在数据设计器中编辑查询后,出现如下界面,按照红框中画出的步骤进行操作。
点击配置后出现如下向导,点击查询生成器:
点击查询生成器后界面如下,可以去掉不需要查出的字段,添加自己的SQL查询条件,然后一直下一步直到完成。其中的@DateStart和@DateEnd都是参数,一会需要在U层代码中传入参数。
Imports Microsoft.Reporting.WinForms '引用
Private Sub frmWeekCheck_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.ReportViewer1.RefreshReport() '显示报表 End Sub
Private Sub btnQuery_Click(sender As Object, e As EventArgs) Handles btnQuery.Click Dim daychecksource As New ReportDataSource 'Me.T_BillTableAdapter.Fill(Me.ChargeSystemDataSet.T_Bill, Format(DateStart.Value, "yyyy-MM-dd")) '设置报表数据源名称 daychecksource.Name = "WeekCheck" '设置报表数据源实例 daychecksource.Value = ChargeSystemDataSet1.T_Bill Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "UI.WeekCheck.rdlc" '清空存在报表 Me.ReportViewer1.LocalReport.DataSources.Clear() '添加数据源 Me.ReportViewer1.LocalReport.DataSources.Add(daychecksource) '传递参数 Me.T_BillTableAdapter.Fill(Me.ChargeSystemDataSet1.T_Bill, Format(DateStart.Value, "yyyy-MM-dd"), Format(DateEnd.Value, ("yyyy-MM-dd"))) '刷新报表 Me.ReportViewer1.RefreshReport() End Sub