找回密码
 立即注册

QQ登录

只需一步,快速开始

Lenka.Guo 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-24 12:09  /   查看:3985  /  回复:0
本帖最后由 Lenka.Guo 于 2016-3-24 12:11 编辑

源码下载:


1. 功能介绍

报表钻取是本身可以在报表设计时通过拖拽和属性设置,不需要编写一行代码,就可以轻松实现。然而这些功能前提是主报表和子报表都是设计时数据源。
当子报表是运行时数据源要如何实现?

主要功能点:
  • 报表钻取
  • 子报表设计时数据源
  • 带参数的报表钻取
  • WinForm
  • 在子窗口中弹出子报表

2.  开发环境
Visual Studio 2012 +ActiveReports 10  SP1+WinForm(如果不是此版本,可通过VS 中的工具-》转换为ActiveReports10 一键转化)

3.  实现步骤

1. 创建主报表 RdlReport1.rdlx;
2.选中单元格;在属性窗口中,点击“属性对话框”,设置“导航”属性;
3.选择“跳转到URL”,设置跳转时传递的值字段(关键步骤,与常规报表设计不同,选择:跳转到URL, 在值中输入参数值)



    4. 在Form1 中添加Viewer,实现Viewer的HyperLink 事件
(选中Viewer,在属性窗口中,点击事件按钮),在该方法中添加以下代码

private void viewer1_HyperLink(object sender, GrapeCity.ActiveReports.Viewer.Win.HyperLinkEventArgs e)
        {
            string file_name = @"..\..\RdlReport2.rdlx";
            GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
            GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
            pageDocument.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(getDataSource);
            Class1 cs = new Class1();
            cs.temp1 = e.HyperLink.ToString();
            rpt.Report.ReportParameters[0].DefaultValue.Values.Add(cs.temp1);
            Form2 fm = new Form2();           
           
            fm.viewer1.LoadDocument(pageDocument);
            fm.Show();
        }






本帖子中包含更多资源

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

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部