zoukankan      html  css  js  c++  java
  • DevExpress WinForm控件入门指南

    WinForm平台下的DevExpress Reporting控件允许您自定义纸张格式、方向,并将自定义信息添加到报表中。请注意,以下方法适用于实现 IPrintable 接口的控件(例如 XtraGrid、XtraPivotGrid、XtraScheduler、XtraTreeList、XtraCharts、Layout Control、XtraVerticalGrid 等)。

    获取工具下载 - DevExpress WinForm v21.1

    DevExpress技术交流群4:715863792      欢迎一起进群讨论

    要开始学习本教程,请启动Microsoft Visual Studio并创建一个新的Windows Forms应用程序或打开一个现有应用程序,然后运行Toolbox并将实现IPrintable接口所需控件拖放到窗体上。

    DevExpress WinForm控件入门指南:如何在打印/导出时设置纸张格式并向报表添加自定义信息

    接下来,您可以将控件绑定到数据或手动填充它。

    在运行时自定义打印选项

    IPrintable接口允许您自定义打印设置并使用 PrintableComponentLink 打印控件,以下代码演示了如何创建 PrintableComponentLink、将控件分配给其 PrintableComponentLinkBase.Component 属性、调整其打印设置以及打印控件。

    C#

    using DevExpress.LookAndFeel;
    using DevExpress.XtraEditors;
    using DevExpress.XtraPrinting;
    using DevExpress.XtraPrinting.Links;
    using DevExpress.XtraPrintingLinks;
    //...
    
    public partial class Form1 : XtraForm {
    //...
    private void gridControl1_Load(object sender, EventArgs e) {
    PreviewPrintableComponent(gridControl1, gridControl1.LookAndFeel);
    }
    
    void PreviewPrintableComponent(IPrintable component, UserLookAndFeel lookAndFeel) {
    // Create a link that will print a control.
    PrintableComponentLink link = new PrintableComponentLink() {
    PrintingSystemBase = new PrintingSystemBase(),
    Component = component,
    Landscape = true,
    PaperKind = PaperKind.A5,
    Margins = new Margins(20,20,20,20)
    };
    // Show the report.
    link.ShowRibbonPreview(lookAndFeel);
    }
    }

    VB.NET

    Imports DevExpress.LookAndFeel
    Imports DevExpress.XtraEditors
    Imports DevExpress.XtraPrinting
    Imports DevExpress.XtraPrinting.Links
    Imports DevExpress.XtraPrintingLinks
    '...
    
    Public Partial Class Form1
    Inherits XtraForm
    '...
    Private Sub gridControl1_Load(sender As Object, e As EventArgs)
    PreviewPrintableComponent(gridControl1, gridControl1.LookAndFeel)
    End Sub
    
    Private Sub PreviewPrintableComponent(component As IPrintable, lookAndFeel As UserLookAndFeel)
    ' Create a link that will print a control.
    Dim link As New PrintableComponentLink() With { _
    .PrintingSystemBase = New PrintingSystem(), _
    .Component = component, _
    .Landscape = True, _
    .PaperKind = PaperKind.A5, _
    .Margins = New Margins(20, 20, 20, 20) _
    }
    ' Show the report.
    link.ShowRibbonPreview(lookAndFeel)
    End Sub
    End Class
    在运行时向报表添加自定义信息

    创建报表页眉或者页脚来向报表添加自定义信息,订阅CreateReportHeader事件来添加报表头,如下所示。

    C#

    using DevExpress.LookAndFeel;
    using DevExpress.XtraEditors;
    using DevExpress.XtraPrinting;
    using DevExpress.XtraPrinting.Links;
    using DevExpress.XtraPrintingLinks;
    //...
    
    public partial class Form1 : XtraForm {
    //...
    void PreviewPrintableComponent(IPrintable component, UserLookAndFeel lookAndFeel) {
    // Create a link that will print a control.
    //...
    // Subscribe to the CreateReportHeaderArea event used to generate the report header.
    link.CreateReportHeaderArea += link_CreateReportHeaderArea;
    // Show the report.
    link.ShowRibbonPreview(lookAndFeel);
    }
    }

    VB.NET

    Imports DevExpress.LookAndFeel
    Imports DevExpress.XtraEditors
    Imports DevExpress.XtraPrinting
    Imports DevExpress.XtraPrinting.Links
    Imports DevExpress.XtraPrintingLinks
    '...
    
    Public Partial Class Form1
    Inherits XtraForm
    '...
    Private Sub PreviewPrintableComponent(component As IPrintable, lookAndFeel As UserLookAndFeel)
    ' Create a link that will print a control.
    '...
    ' Subscribe to the CreateReportHeaderArea event used to generate the report header.
    AddHandler link.CreateReportHeaderArea, AddressOf Link_CreateReportHeaderArea
    ' Show the report.
    link.ShowRibbonPreview(lookAndFeel)
    End Sub
    End Class

    按如下方式处理 CreateReportHeader 事件。

    C#

    using System.Drawing;
    using DevExpress.XtraPrinting;
    
    private void link_CreateReportHeaderArea(object sender,
    CreateAreaEventArgs e) {
    string reportHeader = "Categories Report";
    e.Graph.StringFormat = new BrickStringFormat(StringAlignment.Center);
    e.Graph.Font = new Font("Tahoma", 14, FontStyle.Bold);
    RectangleF rec = new RectangleF(0, 0, e.Graph.ClientPageSize.Width, 50);
    e.Graph.DrawString(reportHeader, Color.Black, rec, BorderSide.None);
    }

    VB.NET

    Imports System.Drawing
    Imports DevExpress.XtraPrinting
    
    Private Sub link_CreateReportHeaderArea(ByVal sender As System.Object, _
    ByVal e As CreateAreaEventArgs) _
    Handles PrintableComponentLink1.CreateReportHeaderArea
    Dim reportHeader As String = "Categories Report"
    e.Graph.StringFormat = New BrickStringFormat(StringAlignment.Center)
    e.Graph.Font = New Font("Tahoma", 14, FontStyle.Bold)
    Dim rec As RectangleF = New RectangleF(0, 0, e.Graph.ClientPageSize.Width, 50)
    e.Graph.DrawString(reportHeader, Color.Black, rec, BorderSide.None)
    End Sub

    下图说明了包含指定打印选项和附加自定义信息的结果报表。

    DevExpress WinForm控件入门指南:如何在打印/导出时设置纸张格式并向报表添加自定义信息
    在运行时将报表导出为指定格式

    除了打印预览窗口中提供的导出功能外,您还可以通过PrintableComponentLink对象导出报表。

    C#

    PrintableComponentLink link = new PrintableComponentLink();
    link.ExportToPdf(@"c:gridcontrol.pdf");

    VB.NET

    Dim link As New PrintableComponentLink()
    link.ExportToPdf("c:gridcontrol.pdf")

    DevExpress WinForm | 下载试用

    DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!


    更多DevExpress线上公开课、中文教程资讯请上中文网获取

  • 相关阅读:
    SAP扫盲系列之二:SAP ABAP应用服务器的组成部分
    SAP扫盲系列之一:什么是SAP系统和应用服务器
    SAP CRM中间件下载时,为什么有时候会生成一个奇怪的BDOC容器
    SAP Cloud for Customer ABSL的一些优化
    How to test Delta download in CRM Side
    SAP CRM中间件下载时数据库表CRMATAB为空的处理方法
    如何关闭SAP CRM中间件的delta download方式
    SAP CRM Fiori应用冗余round trip的原因分析
    SAP CRM WebClient UI上以html格式显示note的问题讨论
    微信授权登录
  • 原文地址:https://www.cnblogs.com/AABBbaby/p/15241511.html
Copyright © 2011-2022 走看看