复制代码 代码如下:
private List<UserData> CreateDataSet()
{
List<UserData> userDataSet = new List<UserData>();
userDataSet.Add(new UserData() { Name = "Clark", Age = 18 });
userDataSet.Add(new UserData() { Name = "Yaya", Age = 15 });
return userDataSet;
}
我们可以很快速的使用RDLC里的数据表控件,来将数据呈现在报表上。
但是当客户要求下图的报表,要将数据源内容显示在一行。RDLC处理这种需求就没有那么简单,这是因为RDLC没有循环处理的函式可以使用。造成开发人员要组合数据,必须使用隐藏列表、在外部组合字符串…等等迂回的方式建立报表内容。但这样的方式开发,既没有效率而且也有很多的限制。
这个问题困扰了我好几天,昨晚睡到一半忽然有灵感。可以使用RDLC里的Sum函式,来做数据循环的处理。
Sum函式会取得数据集中的每一笔资料,并且计算出全部数据的总和。我们可以将表达式写为下列的函式,利用code.PushStringStack这个RDLC自定义函式,来让Sum函式取得所有数据。这样的写法,就可以将数据集中的每一笔数据都交由code.PushString处理过一次。
复制代码 代码如下:
=Sum(code.PushString(Fields!Name.Value, Fields!Age.Value), "UserDataSet")
接着看code.PushString这个RDLC自定义函式的内部,使用了一个Static的字符串变量,来记录每一笔数据处理之后的结果。到这边开发人员应该可以理解,这样的方式就是在跑循环处理数据。
复制代码 代码如下:
Public Shared _foreachResult As String = String.Empty
Public Shared Function PushString(userName As String, userAge As String) As Integer
_foreachResult += userName & "(" & userAge & "), "
Return 0
End Function
当然啦,跑完循环处理完数据,最终还是要将数据显示在画面上。这边很简单的就是建立一个code.PopString回传。
复制代码 代码如下:
Public Shared Function PopString() As String
Return _foreachResult
End Function
并且将原本的表达式改写成为:
复制代码 代码如下:
=IIF(Sum(code.PushString(Fields!Name.Value, Fields!Age.Value), "UserDataSet") <> 0, "", code.PopString())
编译并且执行之后,就可以看到在RDLC的文本框里,已经正确的显示了客户要求的数据格式。
范例程序 : RdlcForeachDataSample_jb51net点此下载。
.net,rdlc,循环处理数据
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】