很多用户反馈希望在同一数据控件中加载多个数据集,这样就会大大提升报表设计的灵活性和强大性。因为很多用户数据最终都是以独立的DataTable呈现给客户,所以无法编写SQL 语句但是又需要 主键和外键的结合,之前有的解决方法是通过嵌套子报表来完成,但是实现起来也确实复杂。
在ActiveReports 11 SP1 中,开发人员又为我们带来了一大惊喜,提供了LookUp函数来实现这一功能。
1. Lookup 函数
语法
=Lookup(<SourceExpression>,<DestinationExpression>,<ResultExpression>, LookupDataset>)
函数说明
使用条件
限制
- 只支持=操作符
- 不支持非聚合表达式如Mode, And,Or等
- 不支持Lookup函数嵌套使用。
2. 使用步骤
1. 在项目中添加 ActiveReports RDL 报表
2. 连接数据源
3. 添加数据集
添加DataSet1
Sql 语句:
select dbo.订单.*
from dbo.订单
添加DataSet2
select dbo.客户.* from dbo.客户
4. 添加表格控件
为表格控件指定数据集DataSet1,并添加列
添加【客户名称】列,设置Value属性
=Lookup( [客户ID] , [客户ID] , [公司名称], "DataSet2")
5. 预览报表
下载附件:
了解ActiveReports产品更多特性:
下载产品体验产品功能: