DevExpress ASP.NET 22.1.3

ASP.NET Core Data Grid adds support for exporting to PDF.
June 20, 2022 - 15:32
New Version



Data Grid

  • Export to PDF - v22.1 marks the official release this feature. The Export to PDF API includes the following options/capabilities:
    • WYSIWYG Export to PDF.
    • Fit-to-Page.
    • Multi-Page Export.
    • Text Wrapping.
    • Progress Indication.
    • Cell Content, Format, and Appearance Customization options.
    • RTL Support.
  • Grid Column Enhancements - Grid columns now display items based on the applied filter (not all items as in previous versions).
  • Pager - Enhanced Compact Mode - The grid's pager now displays paging information using a compact display mode.


  • All-Day Panel Modes - Added a new 'AllDayPanelMode' method that allows you to specify which appointments to display within the All-day Panel. Available options include:
    • hidden - the Scheduler renders all-day appointments in the timetable. The All-day Panel is hidden.
    • allDay - the All-day Panel displays only explicit all-day appointments. Implicit all-day appointments are shown in the timetable.
    • all - the All-day Panel displays explicit and implicit all-day appointments.
  • API Enhancements - You can now delete recurring appointment occurrences using. Use the deleteRecurrence method.


  • Change Data Label Formats - Use the label's DisplayFormat method to change the format of data labels within a chart.


  • Custom Fonts for PDF Export - Added a new font option to the ExportToPdf method so you can specify a custom font for an exported PDF document.
  • Scale Customization - Added a new ScaleCellPrepared event to help customize the look and feel of scale cells. You can now specify color, style, and text settings.

HTML/Markdown Editor

  • Image Upload - The HTML Editor ships with image upload support. You can drag-and-drop images onto the editor surface or use the upload form (select files from a file system or specify a URL). You can also resize images within the editor.

UI Components

  • Display Multiple Toasts in a Stack - With this update, toasts no longer overlap each other. Added two new methods: notify(message, stack) and notify(options, stack) to help display toasts one under another.
  • Resizable UI Enhancements - The Resizable component includes two new methods:
  • KeepAspectRatio - Specifies whether to proportionally resize component content when a user drags its corner handle.
  • Area - Specifies a bounding container. A user can't resize the component outside the boundaries of the specified container.
  • Validation Summary Enhancements - The new refreshValidationGroup method allows you to rebind the Validation Summary component to its target Validation Group whenever the validation group is recreated.
  • Toggle Between Open Popups - Users can now switch between open popups via a pointing device or keyboard.
  • Currency-Accounting Style - Format Negative Values - Added a new 'useCurrencyAccountingStyle' option (enabled by default). This option specifies whether to use system settings for negative values (currency-accounting format). Otherwise, negative values are displayed with a minus sign.


  • ASP.NET controls - New Microsoft Office 365 Dark theme.

GridView, TreeList, Vertical Grid

  • Multiple Cell Selection - The ASP.NET GridView, TreeList, Vertical Grid controls now support multiple cell selection. To enable this option, set the SettingsEditing.Mode property to 'Batch' and turn on the BatchEditSettings.EnableMultipleCellSelection option.
  • Data Editing in Batch Mode - Copy/Paste Multiple Cell Values - With multiple cell selection enabled, users can now copy a cell range and paste it into grid cells or external controls (e.g. GridView, Spreadsheet, TreeList). Users can also copy the range of cells and paste it in Microsoft Excel.
  • Range Filter for Numeric Values - Incorporated a range track bar in column filters for numeric values. To activate this option, set the SettingsHeaderFilter.Mode property to 'NumericRangePicker'.


  • Custom Fonts for PDF Export - Added a new 'font' option to the ExportToPdf method so you can specify a custom font for your exported PDF document.
  • Scale Customization - Added a new ScaleCellPrepared event that allows you to customize the look and feel of scale cells and cell separators. You can specify such settings as color, style, and text.
  • Performance Enhancements - Optimized the ASP.NET Gantt control's data processing and rendering engine to avoid excessive database queries. The Gantt control now uses fewer database queries when updating tasks.

Pivot Grid

  • Unified Field Binding API in Server Mode and OLAP Mode
    • v22.1 updates Data Binding API support in both Server and OLAP Modes.
    • In OLAP mode, you can now set the DataBinding property to a DataSourceColumnBinding object (to bind a field to data). To specify an OLAP expression, set the 'DataBinding' property to an 'OlapExpressionBinding' object.
    • In Server Mode, use 'DataSourceColumnBinding' and 'ExpressionDataBinding' objects respectively.
    • This update also includes support for the following criteria operators:
      • IsTotal - Determines whether a total summary value is being calculated.
      • FirstValue - Returns the first row of records used to calculate an aggregate value.

Miscellaneous Enhancements

  • New Keyboard Events - Added keyboard events to the Web Forms/MVC data container controls (GridView, CardView, VerticalGrid, and TreeList). You can handle the following events on the client side to respond to user keyboard actions:
    • ASPxClientGridBase.KeyDown / ASPxClientTreeList.KeyDown
    • ASPxClientGridBase.KeyPress / ASPxClientTreeList.KeyPress
    • ASPxClientGridBase.KeyUp / ASPxClientTreeList.KeyUp
  • Data Filtering Enhancements - v22.1 ships with the following enhancements to the standalone and embedded Filter Controls:
    • Numerous predefined comparison operators for DateTime fields (see FunctionType).
    • Ability to create custom comparison operators (see CustomFunctionName).

ASP.NET Bootstrap

GridView and CardView

  • Range Filter for Numeric Values - Incorporated a range filter for numeric values in column filters. To activate this option, set the SettingsHeaderFilter.Mode property to 'NumericRangePicker'.


New Accordion

  • The new Blazor Accordion component allows you to address a broad range of navigation related usage scenarios within Blazor-powered web apps. You can create advanced hierarchical navigation menus with endless nesting of navigation elements. Integrated features include:
    • Data Binding Support.
    • Built-in Search Panel & Filtering Support.
    • Item Groups.
    • Multiple Expand/Collapse Modes.
    • Unlimited Number of Nesting Levels.
    • Custom Items and Group Content.

New Flyout

  • Use the new Blazor Flyout component (a contextual popup UI element) to display hints, warnings, or business-specific information within your Blazor-powered web app. You can position the Flyout at top, bottom, left or right side of any webpage UI element.


  • Inline Row Editing - The Blazor Grid now supports inline data editing and keyboard navigation support. Use Tab and Ctrl+Tab to navigate between cells within the edit row.
  • End-User Column Customization. Column Chooser - The Blazor Grid component ships with a new Column Chooser. As its name implies, a column chooser allows you (or your end users) to hide, display, and reorder grid columns. Use the ShowColumnChooser method to show the Column Chooser in code.
  • Master-Detail Visualization - You can now create Master-Detail layouts of any complexity - with an unlimited number of nesting levels and details at each level.
  • Save / Restore Layout - You can now save and restore the Blazor Data Grid's layout as requirements dictate. Layout information includes the current page, column sort order/direction, column position, filter values, and grouped columns.
  • Server Mode Data Source - The DevExpress Blazor Grid now supports our Server Mode data source for Blazor Server-based applications. This data source was designed to maximize performance against large data collections. In Server mode, the Blazor Data Grid loads data in small portions, on demand. This helps reduce memory consumption and improve overall app performance.
  • Support for Observable Data Collections (Real-Time Data Updates) - You can now bind the Blazor Grid to a data collection that implements the INotifyCollectionChanged or IBindingList interface. This collection notifies the grid about relevant changes (e.g. data items were added or removed, the entire collection was refreshed, etc.). The grid automatically updates its data to reflect all changes made.
  • Show / Hide Summary Items - The Data Grid's new Visible property allows you to display/hide individual summary items.
  • Appearance Customization Enhancements - Added customization support for over 25 grid UI element types (edit form, filter row, group panel, footer, etc.) within the CustomizeElement event handler.
  •  Row Preview - You can now incorporate Preview sections within our Blazor Data Grid (additional information for quick preview by your users). These preview sections can include tables, values from data source fields and custom text.
  • API Enhancements - New Events
    • WidthChanged - Fires when a column's width changes.
    • ShowAllPagesChanged - Fires when the ShowAllRows property value changes.


  • Point and Series Selection - The Blazor Chart (DXChart) component now supports point and series selection. The Blazor Pie Chart component now supports selection of pie/donut sectors.
  • Drill-Down on Series Point Click - You can now incorporate drill down charts (users click data points and navigate through hierarchical information) within your Blazor-powered web app.
  • Financial and Range Series - Data Binding Enhancements - v22.1 includes new properties that allow you to specify data source fields for financial and range series. They include:
    • Financial Series: OpenField, HighField, LowField, CloseField.
    • Range Series: StartValueField, EndValueField.
  • Bar Chart Enhancements - Added the following new options for the Blazor Bar Chart component:
    • BarGroupPadding - Specifies a bar group's left/right paddings (in %).
    • BarGroupWidth - Specifies a bar group's width in pixels.
    • BarPadding - Specifies padding between bars in bar groups (in %). Use the DxChartRangeBarSeries.BarPadding property for range bar series.
    • BarWidth - Specifies the width of individual bars in a series (in pixels). Use the DxChartRangeBarSeries.BarWidth property for range bar series.
    • MinBarHeight - Specifies minimum bar height (in pixels).
  • Axis Enhancements - New axis options include:
    • SynchronizeAxes - Allows you to disable synchronization of value axes displayed on a single pane.
    • SynchronizedValue - Specifies values at which axes are synchronized.
    • Indent - Specifies the distance between neighboring value axes (in pixels).
  • Export Chart as PDF or Image - The new ExportAsync method allows you to save your chart in the following file formats: PDF, PNG, JPEG, and GIF.
  •  Format Series Labels - Added a new SeriesLabel.FormatPattern property to help format series labels. Format patterns can include placeholders with format specifiers and plain text.


  • New API
    • UploadFile, UploadFiles, UploadAllFiles - use these methods to upload a file(s) or resume a previously paused operation.
    • RemoveFile, RemoveFiles, RemoveAllFiles - allow you to remove selected/all files.
    • PauseUploadFile, PauseUploadFiles, PauseUploadAllFiles - use these methods to pause file upload operations.
    • ReloadFile, ReloadFiles, ReloadAllFiles - these methods re-start the upload of selected/all files.
    • CancelUploadFile, CancelUploadFiles, CancelUploadAllFiles - these methods allow you to abort individual operations.
  • Performance Enhancements in WASM Apps - Optimized the Blazor Upload component to work with a large collection of files in WASM applications. For example, it now takes three seconds to upload 100 files that previously required ten seconds.

Navigation and Layout

  • New API - The Blazor Form Layout component includes the following new API:
    • RenderMode - Specifies how the DxFormLayoutTabPages component loads tab content.
    • ScrollMode - Specifies how users navigate between tabs when tabs do not fit the container's width.
    • TabClick - This event fires when a user clicks a tab.
  • The Blazor Context Menu and TreeView components can now map the CssClass property in bound mode.

Rich Text Editor

  • Mail Merge Support - The Blazor Rich Text Editor now supports mail merge operations.
  • New Command Toolbar - v22.1 allows you to incorporate a Command Toolbar within your app. As its name implies, a Command Toolbar displays all commands across a single tab. Set the 'BarMode' property to 'BarMode.Toolbar' to activate the toolbar. Handle the CustomizeToolbar event to add new commands and hide/customize default commands as necessary.
  • Ribbon Customization - Added a new CustomizeRibbon event so you can:
    • Add new/hide default commands (items).
    • Customize the look, feel, and behavior of default commands.
    • Add custom tabs, groups, and commands.
  • API Enhancements
    • Document.GetIsEmptyAsync - Checks whether a document is empty.
    • SubDocument.GetRtfAsync, SubDocument.AddRtfAsync - Use these methods to obtain/add RTF content from/to the Rich Text Editor.
    • SubDocument.GetIntervalAsync - Returns a sub-document's interval.
    • UndoAsync, RedoAsync - Cancels/reapplies the last edit.


  • Access Timescale from Header Templates - The SchedulerTimelineHeaderCellInfo object includes a new Scale property. This property returns the timescale to which the Scheduler header cell belongs.


  • Node Filtering - The Blazor TreeView component ships with an integrated filtering option. Enable the Filter Panel (displayed at the top of the treeview) to allow users to filter treeview content. When a user searches for a specific node(s), the tree automatically expands to the node that matches the search string and highlights strings that match search text. The new API includes:
    • ShowFilterPanel - Shows/hides the filter panel.
    • FilterString - Specifies the filter string. The 'case-insensitive contains' operator is used by default.
    • FilterMode - Specifies the filter mode.

DevExpress Project Templates

  • DevExpress Server, WebAssembly and WebAssembly Hosted application templates now include the Blazor Grid component.
ASP.NET Core Data Grid exporting to PDF

DevExpress ASP.NET and Blazor

All award-winning ASP.NET, MVC, ASP.NET Core, ASP.NET Bootstrap and Blazor component suites, libraries, and extensions produced by DevExpress in one integrated package.

Got a Question?

Live Chat with our DevExpress licensing specialists now.