手机版

RDLC循环处理数据在中的应用分析 NET

时间:2021-11-20 来源:互联网 编辑:宝哥软件园 浏览:

当我们使用RDLC开发报表时,如果数据源内容如下。复制代码如下: private list user data create dataset(){ list user data user dataset=new list user data();用户数据集。添加(新用户数据(){姓名='克拉克',年龄=18 });用户数据集。添加(新用户数据(){姓名='Yaya ',年龄=15 });返回用户数据集;}我们可以快速使用RDLC的数据表控件在报表上显示数据。

但是,当客户请求下面的报告时,数据源内容应该显示在一行上。RDLC处理这一要求并不那么简单,因为RDLC没有用于循环处理的功能。对于开发人员组合数据,他们必须使用隐藏列表、外部组合字符串……以及其他迂回的方式来构建报告内容。但是,这种开发方式效率低下,有很多局限性。

这个问题困扰了我好几天,昨天半夜睡觉突然有了灵感。您可以使用RDLC的Sum函数来处理数据流通。Sum函数获取数据集中的每一条数据,并计算所有数据的总和。我们可以将表达式写成下面的函数,并使用RDLC自定义函数代码。PushStringStack让Sum函数获取所有数据。这样,数据集中的每一个数据都可以交给代码。处理一次的PushString。复制代码如下:=sum(代码。pushstring(字段!名字。值,字段!年龄。值)、“用户数据集”)。然后看看里面的RDLC自定义函数代码。PushString,并使用静态字符串变量来记录每次数据处理后的结果。这里的开发人员应该能够理解这种方式是运行一个循环来处理数据。复制代码如下: public shared _ foreach结果为string=string。空公共共享函数pushstring (username为字符串,Userage为字符串)为integer _ foreach结果=username' ('userage '),'返回0结束函数。当然,在运行循环并处理数据之后,数据最终会显示在屏幕上。这里简单的事情就是创建一个代码。PopString回发。复制代码如下:公共共享函数popstring()作为string return _ foreachresultedfunction并重写原始表达式如下:复制代码如下:=IIF (sum (code。pushstring(字段!名字。值,字段!年龄。值)、“user dataset”)0”、“代码。popstring())进行编译和执行,可以看到客户要求的数据格式已经正确显示在RDLC的文本框中。

示例: rdlcforeachdatasample _ JB 51 net单击此处下载。

版权声明:RDLC循环处理数据在中的应用分析 NET是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。