初始化自定义程序集对象

在某些情况下,在实例化自定义程序集类时,可能需要初始化自定义程序集类中的属性和字段值。 你很可能需要使用报表的全局对象集合中可用的值来初始化自定义类。 为此,请重写报表的 Code 对象的 OnInit 方法。 若要访问 OnInit,请使用报表定义的 Code 元素。 在计划用于报表的自定义程序集中初始化类的属性或字段值有两种方法:可以使用 OnInit 声明和创建类的新实例,也可以使用 OnInit 调用公开可用的方法。

全局对象集合和初始化

可用于初始化自定义类变量的多个集合。 可以使用 全局 集合和 用户 集合。 调用 OnInit 方法时,在报表生命周期的点上,参数字段ReportItems 集合不可用。 若要使用共享集合、 全局 集合或 用户,需要包含 Report 对象引用。 例如,若要根据用户访问报表的当前语言初始化自定义类, Code 元素可能如下所示:

<Code>  
   Dim m_myClass As MyClass  
  
   Protected Overrides Sub OnInit()  
      m_myClass = new MyClass(Report.User!Language, _  
         Report.Globals!ExecutionTime)  
   End Sub  
</Code>  

初始化类的属性和字段值(如前文所示)的一种方法是声明类,并通过调用重写的构造函数创建该类的新实例。

初始化自定义程序集中类的属性和字段值的另一种方法是从 OnInit 方法中定义的公开可用方法。 首先需要在报表定义文件中为类添加实例名称。 添加适当的程序集引用和实例名称后,可以调用初始化方法来初始化类的属性和字段值。 OnInit 方法可能如下所示:

<Code>  
   Protected Overrides Sub OnInit()  
      m_myClass.MyInitializationMethod(Report.User!Language, _  
         Report.Globals!ExecutionTime)  
   End Sub  
</Code>  

有关为自定义类添加程序集引用和实例名称的详细信息,请参阅向报表添加程序集引用(SSRS)。

有关全局对象集合的详细信息,请参阅表达式中的内置集合(报表生成器和 SSRS)。

另请参阅

将自定义程序集用于报表