2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在学习vb6时,使用的报表是第三方的Grid++Report,纠结了一番,现在换到了VB.Net,有花了一天的时间来捣鼓。不过感觉还是很有收获,拿出来分享一下。

第一阶段【添加数据集】

首先在微软官网下载了报表并安装之。打开VS2010,在项目中添加“新建项”,在“已安装的模版中”选择“Reporting”—》“报表”,在最下方键入名称。

打开“工具箱”,可以按照自己的需求,或拽和编辑各种控件。也可以在“报表数据”为报表添加“内置字段”和“参数”。打开“报表数据”的操作:“视图”—》最后一项“报表数据”,或者按“Ctrl + Alt + D ”。 既然是报表,当然离不开数据了。我这里选择用数据库作为数据源。在报表数据工具栏中,点击“新建”—》“数据集”

会弹出一个新建数据集的界面:

这里选择“数据库”,下一步,“数据集”,点击“新建连接”,选择好服务器名、密码和数据库。测试一下:成功后,确定。

                        

选择你所需要的表、视图、函数或存储过程。

确定后,返回到这个界面,你可以更改数据集的名称(编程时绑定的数据集名称要与报表中数据集的名称一致)、选择具体的表、视图等。然后确定。

这样在“报表数据”栏中就可以看到新建的数据集了。


第二阶段【设计报表】
介绍一些设计报表的工具箱,在VS2010 IDE左侧“工具箱”中的报表项,文本框用于可以显示文字、传递参数。表和矩阵则可以用来存放数据。不同的是表是针对于“列数固定、行数可变的数据”设计的,而矩形则是针对于“列数与行数均可变”的聚合数据设计的。 一般数据库中的表字段都为英文,但是显示的时候,都用中文,为了保证数据隐秘,也应该用中文。说说表中的实现,对于行标题,直接修改即可,而数据行可以修改,也可以不修改。数据行由字段占位符构成,可以右击编辑占位符的属性来实现显示中文。在查询报表时,占位符会被真实数据所代替。,也可以编辑表达式,用 !符号来做找到字段属性。矩阵跟列表框差不多。

      

       

矩形可以作为其他报表项的容器,列表则是用于显示每一个组或数据行重复的数据项。列表框可以通过编辑矩形属性,在可见性中绑定报表中的数据项。图像则是用于显示图片的,可以手动导图。

对于需要汇总比较数据的用户来说,图表则是你的不二选择。在右侧添加要比较的字段,顶部则添加汇总的项,底部则添加类别字段。仪表则用线性或径性方式来显示数据、字段、表达式等,我们可以针对仪表、仪表刻度、仪表指针、仪表范围的进行数据绑定。

         

以上各个控件,都可以通过其属性编辑背景色、字体大小等。属性中也有各自的特点,期待着你自己去发现。
添加参数:在报表数据中的参数选项上,右击选择添加参数。然后改名,并针对传递的参数设置数据类型。我这里需要是时间类型。( 编程传参时的参数类型必须与这里选择的数据类型相对应,如果不对应,会出现“本地报表处理错误”的问题。 )也可以对参数设置默认值,或者为空。具体一看就明白了。将参数拖入到报表中显示会在参数名前自动添加 @ 符号,来表示参数.而内置字段则用 & 符号表示。

              

第三阶段【编程部分】
 
下面是我做的报表模版及运行结果界面:

首先,在项目中新建一个windows窗体,将ReportViewer拖放到窗体上,调整合适的大小与位置。


首先在窗体代码页最上面引入2个命名空间
Imports System
Imports Microsoft.Reporting.WinForms

双击查询,打开Click事件:
Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.ClickDim dt As DataTableDim b_CheckDay As New B_CheckDayLog'大家可以自己的实际情况查询数据。我这里用了分层,查询的具体实现不在这层。 If chkEnd.Checked ThenIf chkUser.Checked Then'获取记录dt = b_CheckDay.QueryCheckLog(cmbUserID.Text, dtpStart.Text, dtpEnd.Text)Else'获取记录dt = b_CheckDay.QueryCheckLog(dtpStart.Text, dtpEnd.Text)End IfElse'获取记录dt = b_CheckDay.QueryCheckLog(dtpStart.Text)End If'【这里是重点】'声明一个报表数据源对象Dim rptDataSource As New ReportDataSource'设置报表数据源名称rptDataSource.Name = "Check"'设置报表数据源实例rptDataSource.Value = dt'设置嵌入报表的资源的名称ReportViewer1.LocalReport.ReportEmbeddedResource = "UI.CheckDay.rdlc"'清空报表数据源ReportViewer1.LocalReport.DataSources.Clear()'添加报表数据源ReportViewer1.LocalReport.DataSources.Add(rptDataSource)'设置报表中的参数集合,这里传递的参数,名字大小写必须一致,'且其本身数据类型必须与报表中定义的数据类型也必须一致。Dim params() As ReportParameter ={New ReportParameter("DateStart", Date.Parse(dtpStart.Text)),New ReportParameter("DateEnd", Date.Parse(dtpEnd.Text))}'传递报表中的参数集合ReportViewer1.LocalReport.SetParameters(params)'刷新报表Me.ReportViewer1.RefreshReport()End Sub

现在一切OK了,运行部分就交给你自己测试了。我也算初识报表吧,如果有什么错误的地方,欢迎大家指正,大家共同探讨,共同进步。
转载的朋友请说明出处: http://blog.csdn.net/xiaoxian8023/article/details/7106588

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/u/2260184/blog/518471

VB.NET rdlc 报表的使用相关推荐

  1. C# rdlc 报表学习总结

    C# 创建报表过程详解 http://www.jb51.net/article/68481.htm 本文给大家介绍的是使用vs2012 c#创建报表的全部过程的记录,十分的详细,有需要的小伙伴可以参考 ...

  2. 用RDLC报表(一)

    用RDLC报表(一) 1       建立数据源 启动VS2005新建一个窗体项目,命名为TestProj 在左边的窗体内选择"添加新数据源"或在菜单上操作"添加新数据源 ...

  3. 视频教程-C#Winform自带的RDLC报表实例教程-C#

    C#Winform自带的RDLC报表实例教程 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA.asp.net.CSS.HTML/HTML5等 ...

  4. Asp.net MVC开发RDLC报表

    主要步骤如下: 创建Asp.net MVC项目 创建DataSet数据源 创建和设计RDLC报表 创建Model 创建Controller 设计报表引用页面 运行浏览报表  详细图解: 1. 创建&q ...

  5. ASP.NET MVC应用程序展示RDLC报表

    ASP.NET MVC应用程序展示RDLC报表 原文:ASP.NET MVC应用程序展示RDLC报表 学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有 ...

  6. [转]RDLC报表-参数传递及主从报表

    本文转自:http://www.cnblogs.com/yjmyzz/archive/2011/09/19/2180940.html 今天继续学习RDLC报表的"参数传递"及&qu ...

  7. 分享懒人张RDLC报表(四)

    来自懒人张:RDLC报表(四)         RDLC报表中有一个概念叫数据区域(Data Region),数据区域是数据绑定的报表项目,在数据区域中可以显示来自数据集的多行数据.RDLC报表设计器 ...

  8. 关闭rdlc报表打印预览后,关闭客户端,抛出异常“发生了应用程序级的异常 将退出”...

    问题:关闭rdlc报表打印预览后,关闭客户端,抛出异常"发生了应用程序级的异常 将退出" 办法:在容纳ReportViewer的窗体后台代码中,添加如下代码即可 protected ...

  9. WinFormreportViewer(rdlc)报表[列表]的使用(一)(附源码示例) 之配餐系统的开发

    紧接着"WinForm"reportViewer报表[矩阵]的使用(一)(附源码示例)" 之配餐系统的开发"这篇文章,此文与大家分享的是在 配餐系统的开发 中使 ...

  10. 还有:用VB创建Excel报表

    还有:用VB创建Excel报表             中科院软件所   张   炜     在Visual   Basic中制作报表,通常是用数据环境设计器(Data   Environment   ...

最新文章

  1. CentOS系统安装配置JDK
  2. boost::spirit模块实现一个雇员结构的解析器的测试程序
  3. 《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作
  4. perl anyevent socket监控web日志client
  5. python 示例_带有示例的Python date isocalendar()方法
  6. python arcgis批量绘图_ARCGIS中Python实现批量裁剪
  7. 计算机专业 职业素养论文,计算机专业本科毕业论文-20210707222739.docx-原创力文档...
  8. Codeforces Round #168 (Div. 2)
  9. 如何启用sqlplus的AutoTrace功能
  10. 旧版sai笔刷_最详细的SAI笔刷设置教程,非常全面详细!
  11. mysql数据库显示中文_数据库-mysql中文显示问题
  12. Linux BIOS开机自检简介
  13. 设计模式之装饰者模式
  14. 教师公开课卡通动态通用PPT模板
  15. mysql是一个大型数据库_MySQL是一个大型关系型数据库管理系统(RDBMS)。
  16. html 标题字体修改,如何更改HTML标题字体大小?
  17. MaxEnt分析流程和推荐的分析内容
  18. 他山之石 | 知识图谱在美团推荐场景中的应用实践
  19. 利用python快速转换GenBank和RefSeq的染色体号
  20. 【CF375C】Circling Round Treasures

热门文章

  1. 微服务之Go-Micro(八)基于Gin框架的Http网关
  2. java中的triple_无法在使用Java加密的.NET中使用TripleDES进行解密
  3. VS2015编译的OpenJDK8,会崩溃
  4. vcredist_x64.exe/vcredist_x86.exe的用处
  5. MAC编译OpenJDK8:详细步骤及问题解决办法(含独家解决办法)
  6. JDK 32位(x86)版本,最新的是JDK8
  7. 对我有利就契约,不利就废纸
  8. 初步猜测,当map所在线程跟显存有关时,容易崩溃
  9. 有的浏览器可以直接打开rtsp,有的不能
  10. python抽学号程序_Python 9行代码来随机抽学生回答指定问题