[置顶] 【机房重构】——报表

报表前前后后折腾了不少日子,然后就做了一段时间的上下机最后又到报表这块了,不过最后还是弄出来了。下面是我做报表的一个过程:

一、ReportViewer容器建立


工具箱——报表——ReportViewer——拖至Windows窗体

二、添加报表文件(*.rdlc)


UI——添加——新建项


          [置顶] 【机房重构】——报表_第1张图片


 [置顶] 【机房重构】——报表_第2张图片


三、添加数据集


1.在报表文件.rdlc文件中:新建——数据集


   


2.新建,之后就是“下一步”



 

3.数据源配置向导



4.新建连接


[置顶] 【机房重构】——报表_第3张图片


5.填写服务器名称和选择身份验证,连接到数据库,测试连接


[置顶] 【机房重构】——报表_第4张图片    [置顶] 【机房重构】——报表_第5张图片


6.选择数据集中数据库对象

[置顶] 【机房重构】——报表_第6张图片


四、设计报表


1.右击添加表和文本即可,显示结果:


[置顶] 【机房重构】——报表_第7张图片


2..因报表中需要参数@DateStart和@DateEnd:参数——添加参数,设置参数类型




[置顶] 【机房重构】——报表_第8张图片


五、方法一


首先按照我们平常那个传递实体走一遍七层,然后数据库中查出数据,最后返回泛型QueryCash到U层


        '定义报表数据源
        Dim BillDataSource As New ReportDataSource
        '参数集合
        Dim params() As ReportParameter = {New ReportParameter("StartDate", Date.Parse(StartDate.Text)),
                                           New ReportParameter("EndDate", Date.Parse(EndDate.Text)),
                                           New ReportParameter("UserHost", FrmLogin.LoginUserID),
                                           New ReportParameter("TodayDate", TodayDate)}

        '设置报表数据集名称
        BillDataSource.Name = "DataSet<span style="font-family:KaiTi_GB2312;">1</span>"
        '设置报表数据源实例,此时为从7层返回的泛型
        BillDataSource.Value = QueryCash

        '报表文件名
        Me.ReportAccount.LocalReport.ReportEmbeddedResource = "Login.UI.ReportBill.rdlc"
        '清空存在报表
        Me.ReportAccount.LocalReport.DataSources.Clear()
        '添加数据源
        Me.ReportAccount.LocalReport.DataSources.Add(BillDataSource)
        '传递参数
        Me.ReportAccount.LocalReport.SetParameters(params)
        '刷新报表控件
        Me.ReportAccount.RefreshReport()

六、方法二:


我们可以从“四、设计报表”到:


1.右击T_AccountInfoTableAdapter——在数据集设计器中编辑查询


[置顶] 【机房重构】——报表_第9张图片


2.右击——配置



3.查询生成器


[置顶] 【机房重构】——报表_第10张图片


4.加入查询条件,“确定”


[置顶] 【机房重构】——报表_第11张图片


5.只需要在U层写代码即可


    Private Sub btnQuery_Click(sender As Object, e As EventArgs) Handles btnQuery.Click
        Dim CheckSource As New ReportDataSource
        '设置报表数据集名称
        CheckSource.Name = "DataSet1"
        '设置报表数据源实例
        CheckSource.Value = MachineChargeDataSet.T_AccountInfo

        '报表内容名称
        Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "Login.UI.ReportAccount.rdlc"
        '清空存在报表
        Me.ReportViewer1.LocalReport.DataSources.Clear()
        '添加数据源
        Me.ReportViewer1.LocalReport.DataSources.Add(CheckSource)
        '向T_AccountInfoTableAdapter传递参数
        Me.T_AccountInfoTableAdapter.Fill(Me.MachineChargeDataSet.T_AccountInfo, Format(StartDate.Value, ("yyyy-MM-dd")), Format(EndDate.Value, "yyyy-MM-dd"))
        '刷新报表
        Me.ReportViewer1.RefreshReport()
    End Sub


小结:开始看了几个人的博客但是感觉很混乱,其实重要的是把思路理清楚了,开始写的时候也不懂,写的写的就清楚了,写博客还是很有益处的。


你可能感兴趣的:([置顶] 【机房重构】——报表)