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

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

引言


在第一次机房中结账中报表的实现是借助了第三方软件——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这些功能是我们在以后都常用的一些功能,所以我们必须很好的掌握,现在我们遇到的错误越多在以后我们做起来就会更加的顺手,在博客中遗留的问题我会继续寻找解决办法,等解决后会立即更新解决办法,也希望广大读者能给一些建设性意见!!!!

目录
相关文章
|
7月前
|
BI C# C++
C#机房重构之报表
C#机房重构之报表
46 0
|
BI C# C++
C# 机房重构——VS2017中没有报表控件(ReportView)
C# 机房重构——VS2017中没有报表控件(ReportView)
220 0
|
13天前
|
数据处理 项目管理
进度一目了然,Excel和看板的神仙联动
在项目管理中,Excel擅长结构化信息记录,但直观展示项目进度稍显不足。结合板.栗.看.板.工具,可将Excel数据同步为任务卡片,清晰显示任务状态、完成时间、负责人和优先级,实现数据与看板的双向联动,提升团队协作效率。
进度一目了然,Excel和看板的神仙联动
|
7月前
|
分布式计算 NoSQL Java
2024年最新推荐3款可以搞定中国式复杂报表的报表工具
中国式复杂报表以结构复杂、多数据源和大量信息为特点,常见于金融等领域。适合制作这类报表的工具有润乾报表、smartBI和亿信BI。润乾报表以其非线性模型擅长处理复杂报表,支持多种数据源,提供数据准备层,降低开发难度;smartBI采用真Excel架构,学习成本低,但性能可能因Excel而受限;亿信BI则注重BI功能,其在线设计器操作流畅性欠佳。在性价比方面,润乾报表以较低价格和完整功能脱颖而出。建议根据具体需求选择适合的工具进行试用。
150 1
|
BI C# 数据库
C# 机房重构——周结账单、报表设计
C# 机房重构——周结账单、报表设计
104 1
|
BI C# C++
C#机房重构——VS2017中没有报表设计器(RDLC)
C#机房重构——VS2017中没有报表设计器(RDLC)
170 1
|
数据可视化 测试技术 BI
机房收费系统—功能介绍
机房收费系统—功能介绍
138 0
|
BI 数据库
汇总报表怎么做,如何设计实现汇总报表?
汇总报表怎么做,如何设计实现汇总报表?
|
数据挖掘 BI
做报表用什么软件好-推荐VeryReport报表软件
做报表用什么软件好-推荐VeryReport报表软件
|
数据可视化 数据挖掘 大数据
好用的报表工具推荐(报表工具功能)
在这个大数据时代,大数据计算机已成为数据分析人员必备的工具,熟悉数据分析,并从数据快速抽取出经营问题,快速响应市场,才能让数据成为第一生产力。
好用的报表工具推荐(报表工具功能)