zoukankan      html  css  js  c++  java
  • 机房收费系统个人版重构——报表制作

    前言

        机房收费系统个人重构完成了以后,感觉自己最大的收获就是再也不怕报表的制作了,那天晚上,当自己还剩下报表功能没有实现的时候,诺诺的问了一句,报表好不好做?只见对面的两个小孩儿,会心一笑,好做一会就弄完了。Oh my God,是不是真的?他们又笑了,到现在为止也不知道他们的话是真的还是假的。

    内容

        对于报表探索了一下,分析了一下里面的细节。

    小分析

        报表用来打印显示用的一种表格。其实个人认为它就是一种表格,那么既然是表格,还想要显示数据,所以就得绑定数据源,然后写SQL,然后就是对参数的赋值了。最后的最后想不显示都困难了。   

        分析完了以后,就开始投入生产的阶段了,什么日结账、周结账、年结账的都一样。下面是我实践的过程。

    实践

        1、  快捷Ctrl+Shift+A,新建一个项——然后选择Reporting——重命名报表名称——添加




        2、  在空白处右击——插入——表


        3、  数据集属性窗体——新建——填写完整并且测试连接成功——确定








        4、  选择需要显示的数据——完成






        5、  编辑报表字段——添加参数(根据需要)






        6、  例如我自己建的表格




        7、  在ReportViewer1(相当于盛放报表的容器)选择自己建立的报表




        8、  Demo

    <span style="font-family:KaiTi_GB2312;font-size:18px;">    Private Sub FrmChargeDay_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim checkinfo As New Login.Entity.CheckEntity '实例化一个实体对象
            Dim list1 As New List(Of Login.Entity.CheckEntity) '实例化一个列表
            Dim isok As New Facade.CheckDayFacade '实例化外观一个方法
            Dim SumRecharge As Decimal
            Dim SumCancel As Decimal
            Dim SumConsume As Decimal
            Dim SumAll As Decimal
    
            list1 = isok.IsOk(checkinfo) '返回当天结账信息
    
            '汇总当天信息
            Dim C As Integer
            C = list1.Count
            For C = 0 To C - 1
                SumRecharge = list1(C).RechargeCash + SumRecharge '总充值金额
                SumCancel = list1(C).CancelCash + SumCancel '总退卡金额
                SumConsume = list1(C).ConsumeCash + SumConsume '总消费金额
                SumAll = list1(C).AllCash + SumAll '总应收金额
            Next
    
            'TODO: 这行代码将数据加载到表“ComputerCharge_sysDataSet14.TC_Check”中。您可以根据需要移动或删除它。
            Me.TC_CheckTableAdapter.Fill(Me.ComputerCharge_sysDataSet14.TC_Check)
            'Me.ReportViewer1.RefreshReport()
    
            Dim rptDataSource As New ReportDataSource
            '设置报表的数据源名称
            rptDataSource.Name = "CheckDayDataSet"
            '设置报表数据源实例
            rptDataSource.Value = list1
            '设置嵌入报表的资源的名称
            ReportViewer1.LocalReport.ReportEmbeddedResource = "Login.UI.CheckDayReport.rdlc"
            '清空报表数据源
            ReportViewer1.LocalReport.DataSources.Clear()
            '添加报表数据
            ReportViewer1.LocalReport.DataSources.Add(rptDataSource)
            '给参数赋值
            Dim params1() As ReportParameter = {New ReportParameter("ReportParameter1", Date.Today),
                                                New ReportParameter("OnworkTeacher", Login.Entity.UserinfoEntity.a),
                                                New ReportParameter("SumRechargeCash", SumRecharge),
                                                New ReportParameter("SumConsumeCash", SumConsume),
                                                New ReportParameter("SumCancelCash", SumCancel),
                                                New ReportParameter("SumAllCash", SumAll)}
            '传递报表中的参数集合
            ReportViewer1.LocalReport.SetParameters(params1)
            Me.ReportViewer1.RefreshReport()
        End Sub</span>

    小结

        1、有些东西光光知道是仅仅不够的,还要学会使用。

        2、一分耕耘,一份收获。

  • 相关阅读:
    J
    I题
    H
    G
    F题
    E题
    D题
    C题
    B题
    A题
  • 原文地址:https://www.cnblogs.com/zhoulitong/p/6412417.html
Copyright © 2011-2022 走看看