首页 > 代码库 > 机房收费系统合作版——VS2013自带报表

机房收费系统合作版——VS2013自带报表

        机房收费系统已经敲过两次了,每次敲的感觉都不一样,收获也不一样。

        第一次敲机房,主要是克服对代码的恐惧,只要将功能实现就行;而第二次,主要就是加入前期对整个系统的分析、设计,然后在实践中理解三层架构以及对设计模式的应用;现在是第三次敲,主要是锻炼我们团队合作的能力,大家的讨论研究,合作交流等。由此可见,我们走的每一步都很重要,都是必不可少的。

         今天我们来说一说我们的vb.net中自带的报表。

一、报表的制作

   1,我们右击U层所在文件夹添加“新建项”。

        


   2,在弹出的的添加新建项窗口中找到“reporting”,在右面的内容窗口中选中“报表”选项,设置报表的名称。

     


   3,点击确定后,显示如下界面。我们可以通过“报表数据”内的选项设置一些内置字段、参数等信息。如果界面不显示“报表数据”窗口, 可以通过“视图”——“报表数据(最后一项)”或者“Ctrl+Alt+D”来打开数据窗口。

    


   4,在上图的“报表数据”窗口中选择“新建”——“数据集”,进入下图界面。选中“数据库”,下一步,,选中“数据集”,进入“数据源设置向导”窗口。   


   5,点击“新建连接”,在“添加连接”对话窗口中设置服务器名、用户名、密码、连接到的数据库等信息,然后点击“测试连接”,出现“测试连接成功”,然后确定,一直下一步。

          


   6,给数据集添加需要应用的数据库对象,表、视图、存储过程等等。这里只用到了表,然后确定。

       


   7,添加完成数据库对象后添加的相应信息显示如下界面。可以修改数据集名称。

     


   8,设置完以上步骤后即可在“报表数据”窗口中看到新建的数据集信息了。

       


   9,接下来就是设计报表格式了。打开左侧的工具箱,可以看到图示的“报表项”,文本框、表、矩阵、列表等等。如果没有工具性选项卡,可以“Ctrl+Alt+X”快捷打开。文本框用于显示文字、传递参数。表和矩阵则可以用来存放数据。不同的是表是针对于“列数固定、行数可变的数据”设计的,而矩形则是针对于“列数与行数均可变”的聚合数据设计的。

                


   10,根据功能要求,设计完的报表界面如图所示,因此这里需要用到的工具是“表”。从表中可以看出,我们最后需要打印的是单条记录的信息,而机房中我们得到的都是整张表的信息,二者的区别在于:在报表绑定数据库的时候绑定的是指定的记录还是整张表。



   11,首先在工具箱中选中工具“表”拖动到报表窗口中。由上图我们可以看到,不同于以前报表的是,格式发生了变化,其实很简单,只需合并单元格就可以了。例如,标题栏,选中标题栏所在行的所有列,鼠标右击,选中“合并单元格”就OK啦.

   在需要显示文本内容的列中直接双击输入信息即可,需要加载数据库信息的列点击右上角的数据集小图标即可自动加载相应的数据集信息,然后依次选中相应的信息选项即可。到此,报表就算是设计完了。接下来就是打印了。

  



二、报表的应用

   1,首先在项目中新建一个windows窗体,在左侧的工具箱中“报表”文件夹下找到“ReportViewer”选中并将其拖放到窗体上,调整合适的大小与位置。


          

   2,让我们看看我们的数据容器

               当建立dataset时,系统会自动给我们添加一个tb_checkTableAdapter对数据操作的类。并且有两个方法,Fill() 和GetData()方法。

                右击配置,会看到系统自动生成的查询的Sql语句,并且可以通过查询分析器直接从数据库中查询出来。我们也可以根据用户显示的需求更改SQl语句和添加参数传递,来查找自己想要显示的内容。

                                    

                                    

                     窗体中自动生成的代码。

                     


   3,如何按日期查询。

               

              

              如果我们把TableAdapter中sql语句改为 (查询后系统把数据放到DataTable中,具体代码根据个人情况而定)

 

  1. SELECT   UserID, RechargeMoney, ReturnMoney, IncomeMoney, CheckDate  
  2.   
  3. FROM      tb_Check  
  4.   
  5. WHERE   (CheckDate BETWEEN @DateTimeOne AND @DateLTimeTwo)  

 

              在加载时候自动加载的方法代码。

               

 

              我们可以在窗体上添加我们要传递到数据库的控件参数值,在GetData方法中会自为方法添加两个参数。同时改变触发事件,可以是单击某个按钮来执行显示和刷新报表。

             显示从界面传递的两个日期参数。

 

   下一步是选择或是可以更改执行的方法名。

               

 

  总之,以上是一种方法,我们也可以先建数据容器DataSet,或是先添加reportViewer控件,都可以,系统都会给出相应的提示。还可以自己通过代码建立DataSet,通过三层来调用数据后,再绑定到reportViewer上。

       这里只是介绍了一些基本的简单应用,其他一些参数的添加,美观的设计等,就不在这里一一赘述,它的强大功能还需要我们继续探索.





机房收费系统合作版——VS2013自带报表