SunDream° 发表于 2016-4-27 14:59:51

关于RDL多数据源相关问题

本帖最后由 Lenka.Guo 于 2016-4-27 15:12 编辑

RDL报表支持建立多数据源, 那么我想知道如何在这多数据源之间相互建立关系? 这样可以做到吗?

Lenka.Guo 发表于 2016-4-27 15:24:57

RDL 支持多数据源有两种情况:

1. 多个DataSource,即在同一张报表中绑定多个数据库。
这种情况,多个数据库之间是无法建立关系的。

2. 多个DataSet,同一DataSource 下具有多个数据集 DataSet,只能通过报表参数来建立关系。

如DataSource1 下包含DataSet1,DataSet2; 通过DataSet1 获取到字段1 ,将字段1的值赋给 报表参数,然后再将报表参数引入到DataSet2 的查询中。

Lenka.Guo 发表于 2016-4-27 15:46:36

本帖最后由 Lenka.Guo 于 2016-4-27 15:48 编辑

Lenka.Guo 发表于 2016-4-27 15:24
RDL 支持多数据源有两种情况:

1. 多个DataSource,即在同一张报表中绑定多个数据库。

谢谢您的评分~~:mj72:奖励500金币,可在查看账户积分~:itwn:~

SunDream° 发表于 2016-4-27 17:23:41

Lenka.Guo 发表于 2016-4-27 15:24
RDL 支持多数据源有两种情况:

1. 多个DataSource,即在同一张报表中绑定多个数据库。


能简单用一个DEMO 来展示一下这个参数的使用可以吗? , 最好是能有在代码中添加或者对参数进行操作的DEMO ,会非常非常感谢哒~

Lenka.Guo 发表于 2016-4-27 17:39:41

本帖最后由 Lenka.Guo 于 2016-4-27 17:44 编辑

SunDream° 发表于 2016-4-27 17:23
能简单用一个DEMO 来展示一下这个参数的使用可以吗? , 最好是能有在代码中添加或者对参数进行操作的DEMO ...
首先,你需要了解报表参数的使用和在后台代码中操作参数
在后台代码,常用的操作就是为参数赋值,核心代码:
report1.Report.ReportParameters.DefaultValue.Values.Add(txtParam.Text);
关于报表参数,产品博客里面有很多资源,可以根据你的需求来了解:


[*]ActiveReports报表中数据过滤:基本数据过滤
[*]ActiveReports报表中数据过滤:运行时多值参数传递


其次 :如何在数据集中使用DataSet,可参考帖子: http://gcdn.gcpowertools.com.cn/ ... 09681&fromuid=29382


Demo制作可能需要1天的,明天才能给您答复。

SunDream° 发表于 2016-4-27 17:42:10

Lenka.Guo 发表于 2016-4-27 17:39
你是需要了解报表参数的使用,以及在后台代码中操作参数?
在后台代码,常用的操作就是为参数赋值,核心 ...

我在你们的DEMO案例中有看到矩阵类的控件,但是为什么在设计器中没找到矩阵呢?

Lenka.Guo 发表于 2016-4-27 17:45:28

SunDream° 发表于 2016-4-27 17:42
我在你们的DEMO案例中有看到矩阵类的控件,但是为什么在设计器中没找到矩阵呢?

您使用的是哪个版本? ActiveReports 10 将矩阵升级为 矩表控件 (Tablix),您可以在设计器中找到。

SunDream° 发表于 2016-4-27 17:55:38

Lenka.Guo 发表于 2016-4-27 17:45
您使用的是哪个版本? ActiveReports 10 将矩阵升级为 矩表控件 (Tablix),您可以在设计器中找到。

如DataSource1 下包含DataSet1,DataSet2; 通过DataSet1 获取到字段1 ,将字段1的值赋给 报表参数,然后再将报表参数引入到DataSet2 的查询中。如你这句话所说的, 我想知道怎么样给第一个DataSet1的字段1的值赋值给报表参数的?

SunDream° 发表于 2016-4-27 20:26:16

本帖最后由 SunDream° 于 2016-4-27 20:31 编辑

Lenka.Guo 发表于 2016-4-27 17:39
首先,你需要了解报表参数的使用和在后台代码中操作参数
在后台代码,常用的操作就是为参数赋值,核心代 ...
看一下图~ 我是RDL报表用设计器操作的,为什么我设置参数后使用会报错呢?    active report 10的版本!用的SQL SERVER 数据库

Lenka.Guo 发表于 2016-4-28 09:24:56

SunDream° 发表于 2016-4-27 20:26
看一下图~ 我是RDL报表用设计器操作的,为什么我设置参数后使用会报错呢?    active report 10的版本! ...

HI ,
如果使用的是SQL Server 数据库,在查询语句传参时,正确的引用格式是:@符号+参数名;
正确: SELECT * FROM MF_PSS WHERE PS_NO=@Parameter1
错误: SELECT * FROM MF_PSS WHERE PS_NO=?


绑定多数据集,及通过报表参数控制数据集的关系,ASP.NET Demo
(使用的版本号: ActiveReports 10 SP1,如版本号与你安装的不一致,请使用VS -》工具-》升级ActiveReports ;下载Demo之后,需要更改报表数据源的路径):




核心思路,报表包含5个参数:
1. oid 设为隐藏, 通过后台代码赋值
2. ProjectName 和ProjectNo 由oid获得(DataSet1)
3.ProjectID 由ProjectName,ProjectNo,oid获得(项目ID 数据集)
3. StartDate 和EndDate 为查询时间参数。
3.ProjectID 设为隐藏,使用ProjectID 和StartDate ,EndDate 参数来获取最终数据。(DataSet3)


页: [1]
查看完整版本: 关于RDL多数据源相关问题