EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:自定义WinForms报表设计器表单

本示例演示如何通过处理WinReportServiceController.DesignFormCreated事件来访问报表设计器表单。

在本主题中,假定您有一个使用Reports V2 Module的XAF应用程序,并且已经创建了一个或多个报告(请参阅Reports V2 Module Overview)。

在WinForms模块项目中创建一个View Controller。重写Controller的OnActivated方法,使用Frame.GetController <ControllerType>方法访问WinReportServiceController并订阅WinReportServiceController.DesignFormCreated事件。

using System.Drawing.Design;
using DevExpress.XtraReports.UserDesigner;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.ReportsV2.Win;
// ...
public class CustomDesignerController : ViewController {
    private WinReportServiceController winReportServiceController;
    protected override void OnActivated() {
        base.OnActivated();
        winReportServiceController = Frame.GetController<WinReportServiceController>();
        if (winReportServiceController != null) {
            winReportServiceController.DesignFormCreated  = winReportServiceController_DesignFormCreated;
        }
    }
    void winReportServiceController_DesignFormCreated(object sender, DesignFormEventArgs e) {
        e.DesignForm.DesignMdiController.DesignPanelLoaded  = DesignMdiController_DesignPanelLoaded;
    }
    void DesignMdiController_DesignPanelLoaded(object sender, DesignerLoadedEventArgs e) {
        IToolboxService ts = (IToolboxService)e.DesignerHost.GetService(typeof(IToolboxService));
        ts.AddToolboxItem(new ToolboxItem(typeof(MyControl)), "New Category");
    }
}

在此代码中,自定义组件已添加到“报表设计器”工具栏以进行演示。要了解其他可能的自定义设置,请参阅“报表设计器”主题。

相关文章

转载保留此链接,注明出处