AR11 SP1 新特性(1)—— 同一数据控件展示多数据集数据

很多用户反馈希望在同一数据控件中加载多个数据集,这样就会大大提升报表设计的灵活性和强大性。因为很多用户数据最终都是以独立的DataTable呈现给客户,所以无法编写SQL 语句但是又需要 主键和外键的结合,之前有的解决方法是通过嵌套子报表来完成,但是实现起来也确实复杂。在ActiveReports 11 SP1 中,开发人员又为我们带来了一大惊喜,提供了LookUp函数来实现这一功能。

发布于 2017/03/21 00:00

ActiveReports

很多用户反馈希望在同一数据控件中加载多个数据集,这样就会大大提升报表设计的灵活性和强大性。因为很多用户数据最终都是以独立的DataTable呈现给客户,所以无法编写SQL 语句但是又需要 主键和外键的结合,之前有的解决方法是通过嵌套子报表来完成,但是实现起来也确实复杂。

在ActiveReports 11 SP1 中,开发人员又为我们带来了一大惊喜,提供了LookUp函数来实现这一功能。

1. Lookup 函数

语法

=Lookup(<SourceExpression>,<DestinationExpression>,<ResultExpression>, LookupDataset>)

函数说明

  • 对比标准: 仅支持“=”操作符
  • SourceExpression: 源表达式。作为匹配的条件。
  • DestinationExpression:目标表达式,用来与源表达式进行匹配。
  • ResultExpression:表示返回值,如果目标表达式和源表达式相等,返回的值。
  • LookupDataSet: 指定具体要查找的数据集
  • 使用条件

  • 源表达式和目标表达式的数据类型应一致
  • 如果找到满足条件的值则返回单个值,如果没有则返回Null
  • Lookup 表达式可以当做是聚合函数的一部分,所以用户可以使用这个函数在表头或表尾,分组等,也可以进行Sum求和。
  • 限制
    • 只支持=操作符
    • 不支持非聚合表达式如Mode, And,Or等
    • 不支持Lookup函数嵌套使用。

    2. 使用步骤

    1. 在项目中添加 ActiveReports RDL 报表

    2. 连接数据源

    clip_image002

    3. 添加数据集

    添加DataSet1

    Sql 语句:

    select dbo.订单.*

    from dbo.订单

    clip_image004

    添加DataSet2

    select dbo.客户.* from dbo.客户

    clip_image006

    4. 添加表格控件

    为表格控件指定数据集DataSet1,并添加列

    clip_image008

    添加【客户名称】列,设置Value属性

    =Lookup( [客户ID] , [客户ID] , [公司名称], "DataSet2")

    clip_image010

    5. 预览报表

    clip_image012

    下载附件:

     

    了解ActiveReports产品更多特性:

    /developer/activereports

    下载产品体验产品功能:

    /download/?pid=16

    ActiveReports 报表控件| 下载试用

    ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

    您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛

    相关产品
    推荐相关案例
    关注微信
    葡萄城社区二维码

    关注“葡萄城社区”

    活字格低代码二维码

    关注“活字格低代码”

    想了解更多信息,请联系我们, 随时掌握技术资源和产品动态