如何在打印/导出控件时设置纸张格式并将自定义信息添加到报告中

2024-06-12 14:04

本文主要是介绍如何在打印/导出控件时设置纸张格式并将自定义信息添加到报告中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用于WinForms的DevExpress报告控件允许您自定义纸张格式、方向,并将自定义信息添加到报告中。请注意,以下方法适用于实现可打印接口的控件(例如,XtraGrid、XtraPivotGrid、Xtra Scheduler、XtraTreeList、XtraCharts、Layout Control、XtraVerticalGrid等)。

启动VS2019并创建一个新的Windows窗体应用程序或打开一个现有的应用程序。然后,运行“工具箱”并将实现IPrintable接口的所需控件拖放到窗体上。
在这里插入图片描述

Customize Print Options at Runtime

运行时自定义打印选项
IPrintable界面允许您自定义打印设置,并使用PrintableComponentLink打印控件。以下代码演示如何创建PrintableComponentLink,并将控件分配给其PrintableComponentLinkBase。组件属性,调整其打印设置,然后打印控件。

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);}
}

Add Custom Information to a Report at Runtime

在运行时向报表添加自定义信息
创建报表页眉或页脚以向报表中添加自定义信息。订阅CreateReportHeader事件以添加报告头,如下所示。

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);}
}

如下方式处理CreateReportHeader事件。

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);
}

下图显示了包含指定打印选项和其他自定义信息的结果报告。
在这里插入图片描述

Export a Report to the Specified Format at Runtime

在运行时将报告导出为指定格式
除了“ Print Preview”窗口中提供的导出功能外,您还可以通过PrintableComponentLink对象导出报告。

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

这篇关于如何在打印/导出控件时设置纸张格式并将自定义信息添加到报告中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054419

相关文章

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

hevc和H.264格式的区别

HEVC(High Efficiency Video Coding)和H.264(也称为Advanced Video Coding,AVC)都是视频压缩标准,但它们之间存在一些显著的区别,主要集中在压缩效率、资源需求和兼容性方面。 压缩效率 HEVC,也被称为H.265,提供了比H.264更高的压缩效率。这意味着在相同的视频质量下,HEVC能够以大约一半的比特率进行编码,从而减少存储空间需求和

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

ROS话题通信流程自定义数据格式

ROS话题通信流程自定义数据格式 需求流程实现步骤定义msg文件编辑配置文件编译 在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty… 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如:

如何设置windows计划任务

如何设置windows计划任务 前言:在工作过程中写了一个python脚本,用于调用jira接口查询bug单数量,想要在本地定时任务执行,每天发送到钉钉群提醒,写下操作步骤用于记录。 1. 准备 Python 脚本 确保你的 Python 脚本已经保存到一个文件,比如 jira_reminder.py。 2. 创建批处理文件 为了方便任务计划程序运行 Python 脚本,创建一个批处理文

FastAdmin/bootstrapTable 表格中生成的按钮设置成文字

公司有个系统后台框架用的是FastAdmin,后台表格的操作栏按钮只有图标,想要设置成文字。 查资料后发现其实很简单,主需要新增“text”属性即可,如下 buttons: [{name: 'acceptcompany',title: '复核企业',text:'复核企业',classname: 'btn btn-xs btn-primary btn-dialog',icon: 'fa fa-pe

众所周知,配置即代码≠基础设置即代码

​前段时间翻到几条留言,问: “配置即代码和基础设施即代码一样吗?” “配置即代码是什么?怎么都是基础设施即代码?” 我们都是知道,DevOp的快速发展,让服务器管理与配置的时间大大减少,配置即代码和基础设施即代码作为DevOps的重要实践,在其中起到了关键性作用。 不少人将二者看作是一件事,配置即大代码是关于管理特定的应用程序配置设置本身,而基础设施即代码更关注的是部署支持应用程序环境所需的

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

设置Nginx缓存策略

详细信息 Nginx服务器的缓存策略设置方法有两种:add_header或者expires。 1. add_header 1)语法:add_header name value。 2)默认值:none。 3)使用范围:http、server、location。 配置示例如下: add_header cache-control "max-age=86400";#设置缓存时间为1天。add