React Common - Object Structures - PdfCell
An object that configures export to PDF settings in a DataGrid cell.
import { Cell } from "devextreme/common/export/pdf"
Type:
The customDrawCell and customizeCell functions use this object.
App.js
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import DataGrid from 'devextreme-react/data-grid';
- import Button from 'devextreme-react/button';
- import { jsPDF } from 'jspdf';
- import 'jspdf-autotable';
- import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
- const App = () => {
- const dataGridRef = useRef(null);
- function exportGrid() {
- const doc = new jsPDF();
- const dataGrid = dataGridRef.current.instance();
- exportDataGridToPdf({
- jsPDFDocument: doc,
- component: dataGrid,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.font = { size: 20 };
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- return (
- <React.Fragment>
- <Button ...
- onClick={exportGrid}
- />
- <DataGrid ...
- ref={dataGridRef}>
- {/* ... */}
- </DataGrid>
- </React.Fragment>
- );
- }
- export default App;
borderWidth
Type:
Default Value: 0.5
Uses the measure units that are specified in the constructor of the jsPDFDocument object.
drawBottomBorder
Type:
App.js
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import DataGrid from 'devextreme-react/data-grid';
- import Button from 'devextreme-react/button';
- import { jsPDF } from 'jspdf';
- import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
- const App = () => {
- const dataGridRef = useRef(null);
- function exportGrid() {
- const doc = new jsPDF();
- const dataGrid = dataGridRef.current.instance();
- exportDataGridToPdf({
- jsPDFDocument: doc,
- component: dataGrid,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawBottomBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- return (
- <React.Fragment>
- <Button ...
- onClick={exportGrid}
- />
- <DataGrid ...
- ref={dataGridRef}>
- {/* ... */}
- </DataGrid>
- </React.Fragment>
- );
- }
- export default App;
drawLeftBorder
Type:
App.js
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import DataGrid from 'devextreme-react/data-grid';
- import Button from 'devextreme-react/button';
- import { jsPDF } from 'jspdf';
- import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
- const App = () => {
- const dataGridRef = useRef(null);
- function exportGrid() {
- const doc = new jsPDF();
- const dataGrid = dataGridRef.current.instance();
- exportDataGridToPdf({
- jsPDFDocument: doc,
- component: dataGrid,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawLeftBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- return (
- <React.Fragment>
- <Button ...
- onClick={exportGrid}
- />
- <DataGrid ...
- ref={dataGridRef}>
- {/* ... */}
- </DataGrid>
- </React.Fragment>
- );
- }
- export default App;
drawRightBorder
Type:
App.js
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import DataGrid from 'devextreme-react/data-grid';
- import Button from 'devextreme-react/button';
- import { jsPDF } from 'jspdf';
- import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
- const App = () => {
- const dataGridRef = useRef(null);
- function exportGrid() {
- const doc = new jsPDF();
- const dataGrid = dataGridRef.current.instance();
- exportDataGridToPdf({
- jsPDFDocument: doc,
- component: dataGrid,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawRightBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- return (
- <React.Fragment>
- <Button ...
- onClick={exportGrid}
- />
- <DataGrid ...
- ref={dataGridRef}>
- {/* ... */}
- </DataGrid>
- </React.Fragment>
- );
- }
- export default App;
drawTopBorder
Type:
App.js
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import DataGrid from 'devextreme-react/data-grid';
- import Button from 'devextreme-react/button';
- import { jsPDF } from 'jspdf';
- import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
- const App = () => {
- const dataGridRef = useRef(null);
- function exportGrid() {
- const doc = new jsPDF();
- const dataGrid = dataGridRef.current.instance();
- exportDataGridToPdf({
- jsPDFDocument: doc,
- component: dataGrid,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawTopBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- return (
- <React.Fragment>
- <Button ...
- onClick={exportGrid}
- />
- <DataGrid ...
- ref={dataGridRef}>
- {/* ... */}
- </DataGrid>
- </React.Fragment>
- );
- }
- export default App;
font
Type:
App.js
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import DataGrid from 'devextreme-react/data-grid';
- import Button from 'devextreme-react/button';
- import { jsPDF } from 'jspdf';
- import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
- const App = () => {
- const dataGridRef = useRef(null);
- function exportGrid() {
- const doc = new jsPDF();
- const dataGrid = dataGridRef.current.instance();
- exportDataGridToPdf({
- jsPDFDocument: doc,
- component: dataGrid,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.font = { size: 20, style: 'bold', name: 'Arial' };
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- return (
- <React.Fragment>
- <Button ...
- onClick={exportGrid}
- />
- <DataGrid ...
- ref={dataGridRef}>
- {/* ... */}
- </DataGrid>
- </React.Fragment>
- );
- }
- export default App;
horizontalAlign
Type:
Accepted Values: 'left' | 'center' | 'right'
The default alignment of the content depends on the dataType.
dataType | alignment |
---|---|
'number' | 'right' |
'boolean' | 'center' |
'string' | 'left' |
'date' | 'left' |
'datetime' | 'left' |
padding
Type:
Uses the measure units which are specified in the constructor of the jsPDFDocument object.
App.js
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import DataGrid from 'devextreme-react/data-grid';
- import Button from 'devextreme-react/button';
- import { jsPDF } from 'jspdf';
- import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
- const App = () => {
- const dataGridRef = useRef(null);
- function exportGrid() {
- const doc = new jsPDF();
- const dataGrid = dataGridRef.current.instance();
- exportDataGridToPdf({
- jsPDFDocument: doc,
- component: dataGrid,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.padding = { top: 10, right: 10, bottom: 10, left: 10 };
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- return (
- <React.Fragment>
- <Button ...
- onClick={exportGrid}
- />
- <DataGrid ...
- ref={dataGridRef}>
- {/* ... */}
- </DataGrid>
- </React.Fragment>
- );
- }
- export default App;
wordWrapEnabled
Type:
The default value depends on the value of the DataGrid's wordWrapEnabled property.
Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.