请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

SunDream°
社区贡献组   /  发表于:2016-4-27 14:59  /   查看:3670  /  回复:9
本帖最后由 Lenka.Guo 于 2016-4-27 15:12 编辑

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

9 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-4-27 15:24:57
沙发
RDL 支持多数据源有两种情况:

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

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

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

评分

参与人数 1满意度 +5 收起 理由
SunDream° + 5 赞一个!

查看全部评分

回复 使用道具 举报
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,即在同一张报表中绑定多个数据库。

谢谢您的评分~~奖励500金币,可在查看账户积分~~
回复 使用道具 举报
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
5#
本帖最后由 Lenka.Guo 于 2016-4-27 17:44 编辑
SunDream° 发表于 2016-4-27 17:23
能简单用一个DEMO 来展示一下这个参数的使用可以吗? , 最好是能有在代码中添加或者对参数进行操作的DEMO ...

首先,你需要了解报表参数的使用和在后台代码中操作参数
在后台代码,常用的操作就是为参数赋值,核心代码:
  1. report1.Report.ReportParameters[0].DefaultValue.Values.Add(txtParam.Text);
复制代码

关于报表参数,产品博客里面有很多资源,可以根据你的需求来了解:



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


Demo制作可能需要1天的,明天才能给您答复。
回复 使用道具 举报
SunDream°
社区贡献组   /  发表于:2016-4-27 17:42:10
6#
Lenka.Guo 发表于 2016-4-27 17:39
你是需要了解报表参数的使用,以及在后台代码中操作参数?
在后台代码,常用的操作就是为参数赋值,核心 ...

我在你们的DEMO案例中有看到矩阵类的控件,  但是为什么在设计器中没找到矩阵呢?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-4-27 17:45:28
7#
SunDream° 发表于 2016-4-27 17:42
我在你们的DEMO案例中有看到矩阵类的控件,  但是为什么在设计器中没找到矩阵呢?

您使用的是哪个版本? ActiveReports 10 将矩阵升级为 矩表控件 (Tablix),您可以在设计器中找到。
回复 使用道具 举报
SunDream°
社区贡献组   /  发表于:2016-4-27 17:55:38
8#
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
9#
本帖最后由 SunDream° 于 2016-4-27 20:31 编辑
Lenka.Guo 发表于 2016-4-27 17:39
首先,你需要了解报表参数的使用和在后台代码中操作参数
在后台代码,常用的操作就是为参数赋值,核心代 ...

看一下图~ 我是RDL报表  用设计器操作的,为什么我设置参数后使用会报错呢?    active report 10的版本!  用的SQL SERVER 数据库

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-4-28 09:24:56
10#
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)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部