EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:自定义报表导出选项

本示例演示如何访问ExportOptions对象,该对象存储不同格式的文档导出选项。在WinForms和ASP.NET应用程序中从报表查看器导出报表时,将应用这些选项。

注意

移动应用程序不支持文档导出选项,因此本主题中描述的方法无法在移动平台中实现。

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

  • 在与平台无关的模块中,声明以下帮助程序类。

    using DevExpress.XtraPrinting;
    // ...
    public static class ExportConfigurator {
        public static void Setup(ExportOptions exportOptions) {
            SetHtmlOptions(exportOptions.Html);
            SetPdfOptions(exportOptions.Pdf);
            SetXlsOptions(exportOptions.Xls);
        }
        private static void SetXlsOptions(XlsExportOptions xlsExportOptions) {
            // XLS-specific options: 
            xlsExportOptions.SheetName = "CustomXlsSheetTitle";
            xlsExportOptions.ShowGridLines = true;
        }
        private static void SetPdfOptions(PdfExportOptions pdfExportOptions) {
            // PDF-specific options: 
            pdfExportOptions.DocumentOptions.Title = "CustomPdfTitle";
            pdfExportOptions.ImageQuality = PdfJpegImageQuality.Medium;
        }
        private static void SetHtmlOptions(HtmlExportOptions htmlExportOptions) {
            // HTML-specific options: 
            htmlExportOptions.Title = "CustomHtmlTitle";
            htmlExportOptions.ExportMode = HtmlExportMode.SingleFilePageByPage;
            htmlExportOptions.PageBorderColor = System.Drawing.Color.Gray;
            htmlExportOptions.EmbedImagesInHTML = true;
        }
    }
    
  • Module.csModule.vb)文件中,重写ModuleBase.Setup方法,使用静态ReportsModuleV2.FindReportsModule方法找到ReportsModuleV2实例,并订阅ReportDataSourceHelper.BeforeShowPreview事件。

    using DevExpress.ExpressApp.ReportsV2;
    // ...
    public override void Setup(ApplicationModulesManager moduleManager) {
        base.Setup(moduleManager);
        ReportsModuleV2 reportsModule = ReportsModuleV2.FindReportsModule(moduleManager.Modules);
        if(reportsModule != null) {
            reportsModule.ReportsDataSourceHelper.BeforeShowPreview  = ReportsDataSourceHelper_BeforeShowPreview;
        }
    }
    
  • 在事件处理程序中,执行第一步中实现的ExportConfigurator.Setup静态帮助器方法。

    private void ReportsDataSourceHelper_BeforeShowPreview(object sender, BeforeShowPreviewEventArgs e) {
        ExportConfigurator.Setup(e.Report.ExportOptions);
    }
    
相关文章

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