报表制作简化版

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

前言:  

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



20160522164301753.png


  这次在自己的《机房收费系统》中设计报表,我使用的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


新建报表:

20160522164534840.png


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

设置参数:


20160522164640864.png


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


相关代码:

 '显示报表信息
            '设置嵌入报表的资源的名称;
            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()


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

成果图:

20160522165218694.png


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

小结:


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

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






相关文章
|
17天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
9天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
12天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
1045 33
|
11天前
|
机器学习/深度学习 人工智能 搜索推荐
万字长文深度解析最新Deep Research技术:前沿架构、核心技术与未来展望
近期发生了什么自 2025 年 2 月 OpenAI 正式发布Deep Research以来,深度研究/深度搜索(Deep Research / Deep Search)正在成为信息检索与知识工作的全新范式:系统以多步推理驱动大规模联网检索、跨源证据。
806 55
|
9天前
|
文字识别 测试技术 开发者
Qwen3-VL新成员 2B、32B来啦!更适合开发者体质
Qwen3-VL家族重磅推出2B与32B双版本,轻量高效与超强推理兼备,一模型通吃多模态与纯文本任务!
697 11
下一篇
开通oss服务