本示例详细说明了以程序方式创建一个 继承的报表 的步骤。 例如,当把继承的报表添加到 Web 应用程序或网站时,这可能是必需的。 要学习如何在设计时刻为 Windows 应用程序创建继承的报表,则请参阅 如何: 创建继承的报表 文档。

要使用 Visual Studio IDE 来为 Web 应用程序创建一个继承的报表,则执行下列操作。

  1. 启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 ASP.NET Web 应用程序

  2. 添加新空白报表 到项目中。 此报表将被用作继承报表的基本报表。

  3. 打开基本报表模块。 把报表组件 (标签、带区等) 的访问修饰符从 Private 更改为 Protected (或 PublicProtected Internal),使得组件在子类中可编辑。 可以通过 属性 窗口修改 Modifier 属性,或人工编辑代码。

    C#CopyCode image复制代码
    public class XtraReport1 : DevExpress.XtraReports.UI.XtraReport {
        protected DevExpress.XtraReports.UI.DetailBand Detail;
        protected DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
        protected DevExpress.XtraReports.UI.XRPageInfo xrPageInfoDatePrinted;
    
    Visual BasicCopyCode image复制代码
    Public Class XtraReport1
        Inherits DevExpress.XtraReports.UI.XtraReport
    
        Protected WithEvents Detail As DevExpress.XtraReports.UI.DetailBand
        Protected WithEvents PageHeader As DevExpress.XtraReports.UI.PageHeaderBand
        Protected WithEvents XrPageInfoDatePrinted As DevExpress.XtraReports.UI.XRPageInfo
    
  4. 添加一个新类到项目中。 要这样做,则在 项目 菜单中选择 添加新项... 菜单项。 在 添加新项 对话框中选择 项模板,并单击 添加 按钮。

  5. 在使用下列步骤处理之前,有必要重新生成应用程序。 要这样做,则在 生成 菜单中选中 重新生成解决方案 菜单项。

    应该编译成功,而没有产生任何错误。 如果是,则可以改变继承报表类的祖先类型。

    C#CopyCode image复制代码
    // OLD CODE
    public class Class1 {
    
    // NEW CODE
    public class Class1 : XtraReport1 {
    
    Visual BasicCopyCode image复制代码
    ' OLD CODE
    Public Class Class1
    
    ' NEW CODE
    Public Class Class1
        Inherits XtraReport1
    
  6. 创建一个空的 InitializeComponent 方法,并从类的构造函数中调用它:

    C#CopyCode image复制代码
    public class Class1 : XtraReport1 {
    // ...
        private void InitializeComponent() { } // NEW LINE
    
        public Class1() {
            InitializeComponent(); // NEW LINE
        }
    
    Visual BasicCopyCode image复制代码
    Public Class Class1
        Inherits XtraReport1
        ' ...
    
        ' NEW LINES
        Private Sub InitializeComponent() 
    
        End Sub
    
        Sub New()
            Me.InitializeComponent() ' NEW LINE
        End Sub
    

最后,重新生成项目。 现在,就可以在设计时刻打开继承的报表并定制它了。

Expand image参阅