zoukankan      html  css  js  c++  java
  • 使用ActiveReport for .net 进行报表开发(四)—显示主从表 (转)

    上篇随笔演示了在ActiveReport for .net中如何从对象集合中提取数据。本文简单介绍如何使用子报表来显示主从表中的数据。

     

    1.       在需要显示主从表中的数据时,使用子报表能够提供很大的灵活性,一般就是把主表的信息显示在detail中,如果要每页的上方都要显示主表,就可以放在PageHeader中。再把子表的信息放在Detail中,然后把子报表中的控件直接绑定到数据源上或者使用上篇随笔中的提到的方式从对象集合中提取数据。

    2.       使用子报表:

    新建报表,然后在工具箱上可以看到SubReport控件,拖放一个控件到Detail部分,用此控件来加载子报表。

    再新建一个报表,命名为SubReport1 ,接下来在主报表中写代码,在页面设计器上选中Detail部分,在属性窗口切换到事件栏,双击Format,将会产生Detail_Format事件,下面就要在这个事件里指定子报表控件所要加载的报表。

    3.       由于Detail部分会进行重复显示的,所以,只能指定一次报表源,在这里,我们按照下面的例子:

    ActiveReport sub = null;

    private void Detail_Format(object sender, System.EventArgs eArgs)

    {

            if ( sub == null )

            {

                    sub = new ActiveReports2();

                    this.SubReport.Report = sub;

            }

    }

    先定义一个全局的子报表,然后在Detail_Format事件中对其进行初始化。

    4.       还有要注意的一点是,在使用完子报表后要将其释放,销毁掉,具体的代码放在主报表的ReportEnd事件中,例如:

    private void ActiveReports1_ReportEnd(object sender, System.EventArgs eArgs)

    {

        sub.Document.Dispose();

    sub.Dispose();

    sub = null;

    }

    5.       下面剩下的工作就是摆放控件并设置显示的字段了,加载数据等等了,前面的随笔都有介绍。

     

    下篇随笔中将介绍如何使用ActiveReport for .net开发交叉报表。

  • 相关阅读:
    Android 编程下 Eclipse 恢复被删除的文件
    Android 编程下背景图片适配工具类
    Android 编程下 Managing Your App's Memory
    Android 编程下代码之(QQ消息列表滑动删除)
    Android 编程下 Canvas and Drawables
    Android 编程下 AlarmManager
    Android 编程下去除 ListView 上下边界蓝色或黄色阴影
    Java 编程下字符串的 16 位、32位 MD5 加密
    C#枚举类型和int类型相互转换
    MVC和普通三层架构的区别
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/989432.html
Copyright © 2011-2022 走看看