在个人版的时候,我的报表弄的也挺顺利的没出现什么问题,但是合作时,我按照以前的步骤一步步地进行,竟然在不停的报错,真是让人崩溃啊。所以就不停的重新建,不停的改—删—建—删,如此循环往复。借着合作我把报表的知识总结一下,一方面也是让自己记忆深刻,另一方面也让我们一起学习一下,让以后遇到同样错误的同学能有个很好的启示。
限于篇幅的关系,今天这篇文章我先说一下建报表的具体过程,再说一下合作时候我们报表为什么会出现问题。
创建报表的具体过程:
首先,因为要在U层创建报表,所以右击U层,选择添加——新建项
然后,会出现如下界面。选择常用项——Reporting——报表,然后改一下名字
下一步,设计报表模板
当在设计报表模板的时候将表控件拖进去的时候会出现如下界面。然后选择我们要创建的数据源
接下来,一步一步进行就可以了,这里不需要说明什么。
下一步
下一步,选择数据库连接。像我们合作的时候数据库就不在我这儿,就要选择别人的数据库。
下一步,选择对应的表
继续往下进行就可以了
然后,我们会发现设计的报表模板中的表出现了一个小方块,点击小方块选择对应的列名就可以了
别忘了修改一下列名,把表头修改成中文。
下一步,新建一个窗体,这就是我们报表的窗体了,我们要做的就是建一个报表窗体把模板绑定到窗体里,创建数据源连接起来。
把报表控件拖进窗体里面,点击ReportViewer右边有个小黑点儿,选择报表模板。
下一步就要绑定数据源啦。
注意下面,出现了这样的界面,如果我们的报表是不需要选择日期进行查询的,那样我们就不需要进行下面这些了。但是我们的机房收费系统是通过选择日期进行结账的,所以我们要在这里设定参数,就好比这里是一个方法,到时候我们在窗体里往这个“方法”里传参数就可以了。同时也要注意一下下面这个界面,看看加完参数之后的窗体和这个窗体有什么区别。好啦,我们继续进行下一步。右击蓝色部分选择“配置”
这样就出现下面这个界面啦
下一步,点击查询生成器,把不需要显示的列的对勾去掉。
下一步,加上我们需要查询起始日期和终止日期的两个参数,也就是我用黄色标记出来的部分。
然后点击下一步就行了
继续点击下一步直至完成。又回到这个界面了,看看跟之前的图比较,这里多了两个参数。
这是没加参数前自动生成的代码,要在后面加两个参数。
Private Sub frmReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 这行代码将数据加载到表“ChargeSystemDataSet.T_CheckByDay”中。您可以根据需要移动或删除它。
Me.T_CheckByDayTableAdapter.Fill(Me.ChargeSystemDataSet.T_CheckByDay)
Me.ReportViewer1.RefreshReport()
End Sub
我这是加完参数之后的代码,也就是把窗体中选择时间的文本框里面的内容往参数里面传值就可以了
'TODO: 这行代码将数据加载到表“ChargeSystemDataSet.T_CheckByDay”中。您可以根据需要移动或删除它。
Me.T_CheckByDayTableAdapter.Fill(Me.ChargeSystemDataSet.T_CheckByDay, DateTimePicker1.Text, DateTimePicker2.Text)
Me.ReportViewer1.RefreshReport()
我今天这篇文章就到这里了,下一篇文章我将继续说一下报表的问题,主要针对我们合作时报表出现的问题进行一下总结和说明。