【机房重构】——报表实现

简介: 【机房重构】——报表实现

引言


在第一次机房中结账中报表的实现是借助了第三方软件——Gid++Report,想想到时机房的时候报表就是个比较困难的地方,在重构的时候再次遇到报表的时候心里还是提高紧惕的,但是看到师哥师姐的博客的时候发现他们都是用的VS自带的报表,并且非常的容易实现,这些就放心了,于是就快乐的进入了结账阶段。但是现实总是那么的残酷,在实现的过程中又遇到了一个很大的问题,这个问题困扰了我3天,下面和大家分享:


报表实现——方法一


这个方法是我首先选择的一个,因为这个方法我们几乎不用写代码,直接把查询的sql语句写到数据集里面就可以轻松实现,这也是我选择这个方法的原因。具体过程参考我师父的博客《VS制作报表》,这篇博客写的非常详细!这是我在调错的过程中发现的这篇博客,在这推荐个大家。我们只需要在U层写一些代码用来传入参数即可,系统会自动生成两行代码如下:

    Me.CheckOut_InfoTableAdapter.Fill(me.DataSet1.CheckOut_Info,ThisDayPay.Prodate)
    Me.ReportViewer1.RefreshReport()

当我们用断点调试的时候会发现,当走完第一条语句后就不会执行第二条语句,这样的结果就是我们的报表中没有数据,但是我们在报表中预览数据的时候有数据,经过3天的调试最终以失败而告终,不知各路大神有没有高招,我们探讨一下!


报表实现——方法二


既然第一种方法不能成功当时我们不能让这么点事给憋死啊,于是开始寻找另一条路来实现我的报表功能,当上天给你关闭一扇门的时候总是会为你打开一扇窗,下面就和大家分享一下我是怎么通过这扇窗来实现我们的报表功能的。


添加报表的详细过程:


20150208114530513.png

20150208114557254.png


在工具栏中的下方找到工具栏,将上面的表直接拖到右边白框中,得到如下界面

20150208114806872.png

在此界面中给自己的数据集命名,然后点击新建,得到如下界面


20150208203532854.png

点击下一步,直到出现以下界面:


20150208203631107.png

单击新建连接,出现以下界面:


20150208203759091.png

点击确定后,选择下一步,出现以下界面:

20150208204111299.png


选择我们需要表后,单击完成出现以下按钮,再次出现以下界面,现在我们会发现在红框内已经有我们我们需要的数据源:

20150208204341837.png


点击确定后,就会出现我们的报表了,如下图

20150208205141460.gif


我们可以选择我们需要的字段来填充报表中的数据,自己修改表头名称,并且我们可以通过窗口左边的报表数据来给报表添加参数,像制表日期等,如下图:

20150208210653284.png


到此我们的报表大概的雏形就有了,其余的就根据自己的爱好来美化自己的报表了,下面来看一下是怎样通过代码将数据库中的数据添加到报表中的,U层代码如下:

        Dim rptDataSource As New ReportDataSource
        '设置报表数据源名称  
        rptDataSource.Name = "DayCheckDataSet"
        '设置报表数据源实例  
        rptDataSource.Value = dt
        '设置嵌入报表的资源的名称  
        ReportViewer1.LocalReport.ReportEmbeddedResource = "UI.DayCheckReport.rdlc"
        '清空报表数据源  
        ReportViewer1.LocalReport.DataSources.Clear()
        '添加报表数据源  
        ReportViewer1.LocalReport.DataSources.Add(rptDataSource)
        Dim params() As ReportParameter =
  {
      New ReportParameter("MakeDate", Date.Today),
      New ReportParameter("MakeUser", Entity.PublicVariables._username)
  }
        '传递报表中的参数集合  
        ReportViewer1.LocalReport.SetParameters(params)
        Me.ReportViewer1.RefreshReport()

易错点分析:


错误一:


20150208224607874.png

错误来源:

ReportViewer1.LocalReport.ReportEmbeddedResource = <strong><span style="color:#ff0000;">"


在这行代码中我们加载的报表的名称和我们添加的报表的名称不对应


错误二:


20150208225615778.png

错误来源:


rptDataSource.Name ="DayCheckDataSet1"


在加载报表数据源的时候,数据源名称和我们在建立数据源的名称不一致!这个原因还可能导致我们只能加载我们报表的表头但是不能显示数据。


小结


每一次做报表都有意想不到的错误,但是每次都有很多的收获,这也许就是我们提倡的在错误中成长吧!像报表和导出Excel这些功能是我们在以后都常用的一些功能,所以我们必须很好的掌握,现在我们遇到的错误越多在以后我们做起来就会更加的顺手,在博客中遗留的问题我会继续寻找解决办法,等解决后会立即更新解决办法,也希望广大读者能给一些建设性意见!!!!

目录
相关文章
|
9月前
|
BI C# C++
C# 机房重构——VS2017中没有报表控件(ReportView)
C# 机房重构——VS2017中没有报表控件(ReportView)
119 0
|
23天前
|
分布式计算 NoSQL Java
2024年最新推荐3款可以搞定中国式复杂报表的报表工具
中国式复杂报表以结构复杂、多数据源和大量信息为特点,常见于金融等领域。适合制作这类报表的工具有润乾报表、smartBI和亿信BI。润乾报表以其非线性模型擅长处理复杂报表,支持多种数据源,提供数据准备层,降低开发难度;smartBI采用真Excel架构,学习成本低,但性能可能因Excel而受限;亿信BI则注重BI功能,其在线设计器操作流畅性欠佳。在性价比方面,润乾报表以较低价格和完整功能脱颖而出。建议根据具体需求选择适合的工具进行试用。
31 1
|
7月前
|
存储 JSON 搜索推荐
ABAP 报表中如何给报表的输入参数增添 F4 Value Help 试读版
ABAP 报表中如何给报表的输入参数增添 F4 Value Help 试读版
54 0
|
9月前
|
BI C# C++
C#机房重构——VS2017中没有报表设计器(RDLC)
C#机房重构——VS2017中没有报表设计器(RDLC)
129 1
|
9月前
|
BI C# 数据库
C# 机房重构——周结账单、报表设计
C# 机房重构——周结账单、报表设计
73 1
|
11月前
|
BI 数据库
汇总报表怎么做,如何设计实现汇总报表?
汇总报表怎么做,如何设计实现汇总报表?
|
SQL BI 数据库连接
【机房收费系统】——报表
【机房收费系统】——报表
81 0
【机房收费系统】——报表
|
BI 数据库
FineReport学习(二)——各种报表的制作(三)
FineReport学习(二)——各种报表的制作(三)
FineReport学习(二)——各种报表的制作(三)
FineReport学习(二)——各种报表的制作(一)
FineReport学习(二)——各种报表的制作(一)
FineReport学习(二)——各种报表的制作(一)
FineReport学习(二)——各种报表的制作(四)
FineReport学习(二)——各种报表的制作(四)
FineReport学习(二)——各种报表的制作(四)