界面控件DevExtreme——轻松将TreeList数据导出为PDF格式

news2024/10/1 3:34:37

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。

DevExtreme v22.1正式版下载(q技术交流:600715373)

导出为PDF

要启用Data Grid的PDF导出选项,请导入jsPDF库。在组件中,设置export.enabled属性为true然后指定导出格式。接下来的操作显示DataGrid中的Export按钮,单击此按钮时,将触发dataGrid.onExporting函数(其中开发者应该调用pdfExporter.exportDataGrid(options)方法)。

<dx-data-grid ...
(onExporting)="onExporting($event)"
>
<dxo-export
[enabled]="true"
[formats]="['pdf']"
></dxo-export>
</dx-data-grid>
import { Component } from '@angular/core';
import { exportDataGrid } from 'devextreme/pdf_exporter';
import { jsPDF } from 'jspdf';

// ...

export class AppComponent {
onExporting(e) {
const doc = new jsPDF();
exportDataGrid({
jsPDFDocument: doc,
component: e.component,
}).then(() => {
doc.save('DataGrid.pdf');
});
}
}

单元格自定义

开发人员可以自定义单元格内容并在PDF文档中绘制自定义单元格。

customizeCell函数允许开发者为导出的PDF文档自定义单个DataGrid单元格的外观(例如,可以更改单元格使用的字体样式)。

onExporting(e) {
const doc = new jsPDF();
exportDataGrid({
jsPDFDocument: doc,
component: e.component,
customizeCell({ gridCell, pdfCell }) {
//...
}
}).then(() => {
doc.save('DataGrid.pdf');
});
}

如果希望在绘制单元格时覆盖默认绘制逻辑并应用自己的绘制逻辑,请使用customDrawCell函数。在下面的例子中,这个函数在PDF文档中为" Website "列绘制并自定义一个单元格:

onExporting(e) {
const doc = new jsPDF();
exportDataGrid({
jsPDFDocument: doc,
component: e.component,
customDrawCell({ gridCell, pdfCell }) {
//...
}
}).then(() => {
doc.save('DataGrid.pdf');
});
}

页眉和页脚

开发人员可以轻松地向导出的DataGrid添加页眉和页脚。

DataGrid组件位于PdfExportDataGridProps中指定点的PdfExportDataGridProps.topLeft 属性的页眉之前。

对于页脚位置,使用customDrawCell函数,这个函数允许开发者计算组件最右边单元格的坐标。

导出图片

jsPDF库API还允许将自定义内容导出为PDF(如图像),对于图像导出,可以调用jsPDF.addImage方法,然后处理onRowExporting事件为导出的DataGrid定制行。

onExporting(e) {
const doc = new jsPDF();
exportDataGrid({
jsPDFDocument: doc,
component: e.component,
onRowExporting: (e) => {
// Customize rows
},
customDrawCell: (e) => {
// Detect picture cell
doc.addImage(e.gridCell.value, 'PNG', e.rect.x, e.rect.y, e.rect.w, e.rect.h);
e.cancel = true;
}
}).then(() => {
doc.save('DataGrid.pdf');
});
}

导出多个网格

要将多个DataGrid组件导出到一个文件中,并在PDF文档的不同页面上排列它们,请在Promises链中使用pdfExporter.exportDataGrid(options)方法。

exportGrids() {
const doc = new jsPDF();
DevExpress.pdfExporter.exportDataGrid({
jsPDFDocument: doc,
component: gridOneInstance,
}).then(() => {
doc.addPage();
DevExpress.pdfExporter.exportDataGrid({
jsPDFDocument: doc,
component: gridTwoInstance,
}).then(() => {
doc.save('MultipleGrids.pdf');
});
});
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DevOps的流程与规范介绍

在DevOps中想要实现快速、高质量的业务交付&#xff0c;流程和规范是至关重要的。流程包含软件从需求提出到产品上线投产全套生命周期的所有环节&#xff0c;如需求提出、代码提交、上线流程等。规范包含敏捷需求分解规范、用户故事编写规范、需求输出表等。 一、流程 流程用…

[附源码]计算机毕业设计游戏交易平台Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

链表高频笔试的OJ题

文章目录 一、合并两个有序链表 解题代码 二、反转链表 解题代码 三、分割链表 解题代码 四、链表的回文结构 解题代码 五、链表相交 解题代码 六、环形链表 解题代码 七、复制带有随机指针的复制链表 解题代码 一、合并两个有序链表 题目来源&#xff1a;牛客网。 题目难度&a…

公共用房管理系统有哪些功能和范围?

数图互通房产管理 数图互通公共用房管理系统的管理功能和范围包括: 1、对全部公房进行图形化、电子化、规范、动态化管理。 2、房屋数据定义:可对校区、片区、建筑物、楼层、房间数据进行增删改查&#xff0c;对房间属性数据进行批量修改。 3、档案及多类型附件管理:可对房…

自适应滤波器更新算法-EP1

自适应滤波器更新算法-EP1 自适应滤波器是回声消除系统中非常重要的一个功能模块&#xff0c;而对于自适应滤波器来说&#xff0c;如果更新滤波器系数则是关键所在。本文将介绍几种现有的滤波器更新算法&#xff0c;并附上Matlab测试代码。 1、LMS算法 1.1算法原理 LMS算法即…

【Matplotlib绘制图像大全】(二十二):Matplotlib绘制气泡图

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

变电站远程监控维护,工程师不用出差跑断腿

电力的稳定产出和供应是社会生产、人民生活的重要保障之一。电力监控系统的作用是对变电站设备和变配电系统的运行状态进行监控和管理&#xff0c;保证安全稳定生产&#xff0c;使得终端用户的用电更加安全&#xff0c;同时企业自身的智能化管理水平也能有所提升。 随着经济和城…

TLS版本及CipherSuites确认及设置

在使用Https&#xff08;AS2、RosettaNet等协议&#xff09;传输协议进行数据传输中&#xff0c;有时会遇到下面这些报错信息&#xff1a; ①276–Error during handshake:接收到的消息异常&#xff0c;或格式不正确。 ②13003&#xff1a;Connot conclude ssl handshake.Caus…

苹果电脑误删文件怎么找回?苹果电脑删了文件能恢复吗?苹果电脑文件删除怎么恢复

现如今&#xff0c;使用苹果电脑的用户越来越多&#xff0c;因为其系统流畅&#xff0c;加上小巧便携&#xff0c;成为了不少用户的不二选择&#xff0c;当然&#xff0c;这些用户也经常会遇到一些问题&#xff0c;比如刚刚一位小伙伴就在给小编吐槽他不小心把苹果电脑上面一些…

【golang】1769. 移动所有球到每个盒子所需的最小操作数---时间复杂度O(N)

有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes &#xff0c;其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的&#xff0c;而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。 在一步操作中&#xff0c;你可以将 一个 小球从某个盒子移动到一个与之相邻的盒子中。…

微信小程序|使用小程序制作一个世界杯球员识别工具

一、前言二、实现流程三、功能开发四、代码块一、前言 四年一次的世界杯正在卡塔尔进行着&#xff0c;不同的社交圈也在疯狂的刷着世界杯的动态&#xff0c;来自全球各地的三十二支队伍的球员是否让你看的眼花缭乱呢&#xff1f; 当朋友跟你聊起昨晚那场比赛某某某球员的精彩表…

WPS中配置MathType及mathtype实现论文公式一键改大小

目录 0 概述 1 WPS中配置MathType 1.1 步骤1&#xff1a; 1.2 步骤2&#xff1a; 1.3 步骤3&#xff1a; 1.4 步骤4&#xff1a; 1.5 步骤5&#xff1a; 2 mathtype实现论文公式一键改大小 2.1 步骤1&#xff1a; 2.2 步骤2&#xff1a; 2.3 步骤3&#xff1a; 2.4…

大数定律与中心极限定理

给大家讲个有趣的故事 明天概统小测哦可惜了 我的智商还停留在小学时代可惜了&#xff0c;我需要努力学习Physice Doctor in FutureChebyshev 不等式 &#xff08;弱&#xff09;大数定律 Markov 大数定律 Chebyshev 大数定律 独立同分布大数定律 Bernoulli 大数定律 Khinchin …

npm打包整个过程

将自己写的代码包上传到npm&#xff0c; 方便后续下载安装&#xff0c; 步骤如下&#xff1a; 上传 打开npm官方网站&#xff1a; www.npmjs.com; 进行注册 注册需要用户名&#xff0c;密码和邮箱&#xff0c; 当注册完成后需打开邮箱进行验证&#xff08;邮箱不验证无法上传&…

JUC系列(九) CAS 与锁的理解

&#x1f4e3; &#x1f4e3; &#x1f4e3; &#x1f4e2;&#x1f4e2;&#x1f4e2; ☀️☀️你好啊&#xff01;小伙伴&#xff0c;我是小冷。是一个兴趣驱动自学练习两年半的的Java工程师。 &#x1f4d2; 一位十分喜欢将知识分享出来的Java博主⭐️⭐️⭐️&#xff0c;擅…

DZ-51/220【中间继电器】

系列型号 DZ-51中间继电器; DZ-52中间继电器; DZ-53中间继电器; DZ-54中间继电器; JY-16A中间继电器; 一、用途 DZ-51/220;DZ-51/400中间继电器​ (以下简称继电器)用于自动控制装置中&#xff0c;以扩大被控制的电路和提高接通能力。 二、主要技术参数 额定电压&#xff1a;D…

Spring(存储Bean对象五大类注解,获取Bean对象三种注入方式)

目录 1. 先进行配置扫描路径 2. 存储 Bean 对象 ( 添加注解存储 Bean 对象) 2.1 Controller [控制器存储] 2.2 Service [服务存储] 2.3 Repository [仓库存储] 2.4 Configuration [配置存储] 2.5 Component [组件存储] 2.6 五大类注解的作用和关系 2.7 Bean的命名规则…

基于文化算法优化的神经网络预测研究(Matlab代码实现)

目录 1 文化优化算法 2 人工神经网络 3 基于文化算法优化的神经网络预测研究&#xff08;Matlab代码实现&#xff09;运行结果 4 参考文献 5 Matlab代码实现 1 文化优化算法 大自然里的各种生物在生存环境中相互竞争&#xff0c;优胜劣汰&#xff0c;不断进化&#xff0…

股票编程交易接口怎样自动设置止损?

目前随着国内二级股市已处于相对较高的水平&#xff0c;但是对于高净值的用户来说&#xff0c;在量化投资市场上使用股票编程交易接口系统上具有低波动性和自动交易的定量对冲投资模型体系&#xff0c;包括了一些高性价比、大型基金和长期投资的资产品种&#xff0c;所以大家在…

瑞吉外卖-B站最火的新手入门SpringBoot+Mybatis+Redis项目详细教程来了

&#x1f531;项目介绍 项目地址 GitHub&#xff1a;https://github.com/codermast/Takeout-food 对你有用的话&#xff0c;希望能给项目点个Star&#xff0c;非常感谢。 对于项目的任何问题&#xff0c;或者你在本地部署时遇到的无法解决的问题&#xff0c;都可以提交issues…