找回密码
 立即注册

QQ登录

只需一步,快速开始

sjsm

中级会员

63

主题

252

帖子

649

积分

中级会员

积分
649

活字格认证微信认证勋章

sjsm
中级会员   /  发表于:2014-8-1 08:36  /   查看:6732  /  回复:9
.aspx.cs 代码:
       GrapeCity.ActiveReports.SectionReport main = new GrapeCity.ActiveReports.SectionReport();
        main.LoadLayout(Server.MapPath("arentReport.rpx"));
        main.Parameters["SubPath"].Value = Server.MapPath("ChildReport.rpx");
        WebViewer1.Report = main;
主报表脚本中的代码
        GrapeCity.ActiveReports.SectionReport subReport = new GrapeCity.ActiveReports.SectionReport();
        GrapeCity.ActiveReports.SectionReportModel.Parameter parmUid = new GrapeCity.ActiveReports.SectionReportModel.Parameter();
        //strId.DataType = GrapeCity.ActiveReports.SectionReportModel.Parameter.DataType.String;
        parmUid.Key = "Uid";
      parmUid.Value = "075e5b48-ed41-4827-826d-0270c3be1ccf";//要想子报表传递的参数,子报表根据此参数加载数据
        subReport.Parameters.Add(parmUid);
// 还有个问题,子报表路径是从aspx.cs 穿过来的,我能在主报表脚本代码中获取子报表的路径吗?如果能,怎么实现呢?
        subReport.LoadLayout(rpt.Parameters["SubPath"].Value);
        this.SubReport1.Report = subReport;       
子报表脚本中的代码
        this.TextBox2.Text = rpt.Parameters["Uid"].Value;
        GrapeCity.ActiveReports.Data.SqlDBDataSource dataSource = new GrapeCity.ActiveReports.Data.SqlDBDataSource();
        dataSource.ConnectionString = @"data source=172.16.88.2;initial catalog=Crystal.Cqms.New.RiZhao;user id=sa;password=sjsm2005";
//        dataSource.SQL =  "Select * from Cds_User where Uid='075e5b48-ed41-4827-826d-0270c3be1ccf";
        dataSource.SQL =  "Select * from Cds_User where Uid='<%param:Uid%>'";
        rpt.DataSource = dataSource;  
//这未能实现,老是报错,不知道原因。下面有附加的demo

本帖子中包含更多资源

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

x

9 个回复

倒序浏览
sjsm
中级会员   /  发表于:2014-8-1 10:11:00
沙发
不需要他弹框。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-1 16:15:00
板凳
回复 2楼sjsm的帖子

需要可以实现:
主要有两个点使用有误差:
1.先加载子报表,再添加参数,否则会被覆盖。
2.通过拼接方式设置 SQL 查询语句。

我这边模拟你的使用场景重新做了 Demo,数据库为 NorthWind:


请参考。

本帖子中包含更多资源

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

x
回复 使用道具 举报
sjsm
中级会员   /  发表于:2014-8-1 17:00:00
地板
你这个demo 怎么改我才能运行呢?
回复 使用道具 举报
sjsm
中级会员   /  发表于:2014-8-1 17:34:00
5#
参数问题解决了,我在问下能在报表脚本中获取子报表路径吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-4 15:59:00
6#
回复 5楼sjsm的帖子

5#中的问题我不是特别清楚,目前是通过主报表的Para实现,从子报表中是希望怎么获取呢?
目前已知可以通过绝对路径来设置子报表位置。
回复 使用道具 举报
sjsm
中级会员   /  发表于:2014-8-4 17:14:00
7#
在主报表脚本中,直接获取子报表路径。

本帖子中包含更多资源

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

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-5 17:43:00
8#
回复 7楼sjsm的帖子

可以通过绝对路径来设置子报表位置,相对路径无法设置。
回复 使用道具 举报
sjsm
中级会员   /  发表于:2014-8-7 14:20:00
9#
ok
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-7 14:34:00
10#
回复 9楼sjsm的帖子

好的,不客气

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢

评分

参与人数 1满意度 +5 收起 理由
sjsm + 5 谢谢,问题解决了。

查看全部评分

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