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线上公开课、中文教程资讯请上中文网获取

  • 相关阅读:
    Spring 签名加密+xml数据交互
    Spring 使用 RestTemplate 模拟 电商网站+支付平台
    SSM 框架搭建
    SpringMVC 登录验证实例
    四.Mybatis 动态sql语句
    三.Mybatis 多对一与一对多
    二.Mybatis 增删改查
    一.Mybatis 入门
    SSH框架搭建
    二)Spring AOP编程思想与动态代理
  • 原文地址:https://www.cnblogs.com/AABBbaby/p/15241511.html
Copyright © 2011-2022 走看看