报表制作简化版

前言:   

   机房收费系统无论是重构还是第一版,都用到了报表,为什么在一个系统中要添加报表呢?报表的作用是什么呢?报表百科。我理解的报表是:向上级报告情况的一个媒介,没有固定的格式。之前在项目中,我们真正给企业做过一次报表,是以导出word的形式生成的,大概格式如图:

                      

   这次在自己的《机房收费系统》中设计报表,我使用的VS中自带的报表制作工具:ReportViewer。之前看前辈的博客,大家用的方法大多是以绑定数据源的方式,将数据库中的信息显示到报表中,制作过程相当精彩。详情参考博客:

             http://blog.csdn.net/zlt995768025/article/details/50887984

    http://blog.csdn.net/caoyujiao520/article/details/50925850

   看了前辈的博客,发现了一个问题,控件ReportViewer和控件Datagridview给人的感觉是一样的,连接数据库的步骤也几乎是一样的。我们可以直接通过将Datagridview绑定数据源的方式显示数据库中的信息,也可以通过从数据库中查找,再将一条一条数据返回的形式显示数据库中的信息。那么,ReportViewer是不是也有另一种显示数据库信息的方式呢?我们能不能通过三层架构,将信息返回到U层后,直接把查到的数据赋值给报表中的变量,让其显示呢?

   实验证明,一切都是有可能的!

引用:

Imports Microsoft.Reporting.WinForms

新建报表:

                                                                    报表制作简化版_第1张图片

      这一步和前辈的步骤是一样的。

设置参数:

                                                                  

        参数,个人理解是传递数据的变量


相关代码:

 '显示报表信息
            '设置嵌入报表的资源的名称;
            ReportViewer1.LocalReport.ReportEmbeddedResource = "UI.Report1.rdlc"
            '清空报表数据源;
            ReportViewer1.LocalReport.DataSources.Clear()
            '给参数赋值;

            '给参数赋值  
            Dim params1() As ReportParameter = {New ReportParameter("ManagerId", ManagerId),
                                                New ReportParameter("DateNow", DateTime.Now.ToString("yyyy-MM-dd")),
                                                New ReportParameter("SaleCount", SaleCountSum),
                                                New ReportParameter("RefundCount", RefundCountSum),
                                                New ReportParameter("RechargeSum", RechargeSum),
                                                New ReportParameter("RefundSum", RefundSum)}
            '传递报表中的参数集合  
            ReportViewer1.LocalReport.SetParameters(params1)
            Me.ReportViewer1.RefreshReport()

在这里不需要用代码连接数据源和数据库,只需要还按照以前的查询语句,把从数据库中查到的数据赋值给参数就可以了

成果图:

                     

                        报表制作简化版_第2张图片

           大家可以根据自己的想象力自行美化,添加图片或者线条,我在这里就不展示了。(如果有看不懂的地方,请留言,编者会为大家一一解答)

小结:

    1、报表制作是一个小马过河,自己探索的过程,深浅,难易,只有自己尝试过了才知道。

    2、即使走在别人后面,我们也可以另辟蹊径,勇于探索是不分早晚的。

你可能感兴趣的:(报表)