ReportingService的RDLC报表自定义聚合实现

本文介绍了一种自定义报表设计方法,通过VB.NET代码实现明细项目的名称串联,而非传统的度量值聚合。这种方法适用于希望在报表中展示具体项目名称而非数值汇总的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常分组统计报表的组头(或组尾)显示分组字段名称及度量值的聚合(求和, 求平均或方差等),然而有时候我们希望显示明细项目名称串联。如下图,左边为普通分组展现,右边为自定义聚合效果:2010072816090012.png

常规的分组报表不做赘述,主要介绍自定义聚合报表设计,下图是报表设计界面:

2010072816142132.png

该报表的自定义代码:

ContractedBlock.gifExpandedBlockStart.gif代码
Dim values As System.Collections.ArrayList
Sub AddValue(ByVal newValue As String)
If (values Is Nothing) Then
values
= New System.Collections.ArrayList()
End If
values.Add(newValue)
End Sub

Function GetNames(ByVal reset As Boolean) As String
Dim s As String = ""
Dim i As Integer
Dim count As Integer = values.Count
For i = 0 To count-1
s
= s & ", " & values(i)
Next
GetNames
= Mid(s, 3)
If (reset) Then values = Nothing
End Function

Function GetNamesA(ByVal s As String, ByVal reset As Boolean) As String
AddValue(s)
GetNamesA
= GetNames(reset)
End Function

之后只需要将明细组设置仅显示最后一行,组头不显示即可。
明细组仅显示最后一行的设置是将其Visibility.Hidden置为=RowNumber("table2_Group1") < CountRows("table2_Group1")即可。

报表使用的数据集类型为IItemDetailResult(见下面类图):
2010072816221327.png

转载于:https://www.cnblogs.com/chriskwok/archive/2010/07/28/1787128.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值