java rdlc_VB.NET rdlc 报表的使用

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

8b3e3848bf0f401db9116315142de6de.gif

打开“工具箱”,可以按照自己的需求,或拽和编辑各种控件。也可以在“报表数据”为报表添加“内置字段”和“参数”。打开“报表数据”的操作:“视图”—》最后一项“报表数据”,或者按“Ctrl + Alt + D ”。

既然是报表,当然离不开数据了。我这里选择用数据库作为数据源。在报表数据工具栏中,点击“新建”—》“数据集”

6bda0e42de6de35cb435a55b8da6555e.gif

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

941106764c3986d4b5ba136754584662.gif

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

16cd26b36f748732730163efe1b6d4f2.gif                        

af2d998eb7bd3509a249c890fc55d204.gif

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

3a9e0b64c17d0c89a7c8c4cb5e4a9b04.gif

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

e46bed0d9b3490d1cb9dc51173397673.gif

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

f4512c804d07ec516f0be02f1b13f8ea.gif

第二阶段【设计报表】

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

b8d521a7805397d673a9d3140ca7bc06.gif      

61d6ac4b17fa5ac306874b28d7f929c5.gif

4920cc284745c210303ad6e38ba9103c.gif   

19ef4aee61140ac220605ece6923e24d.gif    

14d96f0bc6983e44c9b1368b60aee48b.gif

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

d769b09a2ece727c2043ac87c895d0c8.gif

fc8114f16a99a38910903ad7fbadb56f.gif

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

c905fa314a7f70ab3030d23e3b97a7a4.gif         

c81b0595424f82de8f9708d60644b57c.gif

以上各个控件,都可以通过其属性编辑背景色、字体大小等。属性中也有各自的特点,期待着你自己去发现。

添加参数:在报表数据中的参数选项上,右击选择添加参数。然后改名,并针对传递的参数设置数据类型。我这里需要是时间类型。(

编程传参时的参数类型必须与这里选择的数据类型相对应,如果不对应,会出现“本地报表处理错误”的问题。

)也可以对参数设置默认值,或者为空。具体一看就明白了。将参数拖入到报表中显示会在参数名前自动添加 @ 符号,来表示参数.而内置字段则用 & 符号表示。

174eefde6a6a7b55500eb0879fac6b8e.gif              

265e9b21bf5969c08c2094e5d16eacae.gif

第三阶段【编程部分】

下面是我做的报表模版及运行结果界面:

1c4ba6e55098959d609571970ad85476.gif

b6382a8b762005ceb268cbc1f0b00f9f.gif

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

f2ce4416902786ea53279503abb551bc.gif

首先在窗体代码页最上面引入2个命名空间

Imports System

Imports Microsoft.Reporting.WinForms

双击查询,打开Click事件:

Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click

Dim dt As DataTable

Dim b_CheckDay As New B_CheckDayLog

'大家可以自己的实际情况查询数据。我这里用了分层,查询的具体实现不在这层。

If chkEnd.Checked Then

If chkUser.Checked Then

'获取记录

dt = b_CheckDay.QueryCheckLog(cmbUserID.Text, dtpStart.Text, dtpEnd.Text)

Else

'获取记录

dt = b_CheckDay.QueryCheckLog(dtpStart.Text, dtpEnd.Text)

End If

Else

'获取记录

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了,运行部分就交给你自己测试了。我也算初识报表吧,如果有什么错误的地方,欢迎大家指正,大家共同探讨,共同进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值