Blazor — Early Access Preview (v25.1)

23 April 2025

Our next major update (v25.1) is set for release in early June. In this post, I'll summarize some of the features/capabilities available in our early access (EAP) build. Before I begin — a quick reminder: If you are an active Universal or DXperience subscriber and want to explore upcoming v25.1-related features/capabilities before official release, you can download our EAP build via the DevExpress Download Manager. Should you encounter issues with the EAP build, please submit a support ticket using the DevExpress Support Center.

Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds. This EAP does not include all features/products we expect to ship in our v25.1 release cycle. As its name implies, the EAP offers an early preview of what we expect to ship in two months.

Legacy Data Grid, ComboBox, Tag Box, and List Box are No Longer Available

To streamline our distribution, we have removed the following legacy components from our v25.1 update:

  • DxDataGrid
  • DxComboBoxLegacy
  • DxTagBoxLegacy
  • DxListBoxLegacy

To avoid issues, please check your projects for components from the  DevExpress.Blazor.Legacy namespace and migrate to new DevExpress alternatives.

Helpful resources:

If you are still using older versions of DevExpress Blazor components, please contact us via the DevExpress Support Center and let us know how we can help you migrate to newer alternatives. 


Blazor Editors


Blazor ComboBox — Set Data Load Mode 

The DevExpress Blazor ComboBox allows you to manage data source interactions using DataLoadMode. Since v24.1, our Blazor ComboBox caches data to reduce frequent database requests. You can now set DataLoadMode to OnDemand (similar to behaviors available prior to v24.1). This option allows the ComboBox to fetch data from the data source each time the dropdown activates. When this option is used, our Blazor ComboBox does not preload data when the page loads (improving initial page load speed. 


Blazor List Box — Select All

The DevExpress Blazor List Box allows you to display a Select All check box above list box items. 

To explore the capabilities of the EAP version of the DevExpress Blazor List Box control, open our locally installed Blazor demo: ListBox   → Multiple Selection .

App Showcase Demo

New CRM, Analytics, and Scheduling/Planning modules (built with our Blazor Grid, TreeList, Scheduler, ListBox, ComboBox, Charts, and other DevExpress Blazor components).

Our showcase demo utilizes InteractiveAuto render mode, introduced in .NET 8 — starting with Blazor Server for fast initial load and seamlessly transitioning to WebAssembly (WASM) for optimal speed and responsiveness. 

The application uses our new Fluent theme with light/dark mode support. Each module is built with reusable code, so you can easily adapt/integrate module components into your next DevExpress-powered Blazor project. 

app showcase

To explore the capabilities of the demo, open our locally installed showcase demo: DevExpress Demos 25.1\Components\Blazor\BlazorDemo.Showcase or visit https://demos.devexpress.com/blazor-showcase/ 

Blazor Pivot Table

Filter Data

The DevExpress Blazor Pivot Table allows you to apply filters to fields displayed in the Filter Header Area. You can define these filter fields in component markup or drag them from other Pivot Table areas. Use the  FilterHeaderAreaDisplayMode  property to control Filter Header Area visibility.

Filter field headers display filter menu buttons. Users can press these buttons to open Field Filter Menus. You can use the following properties to control filter menu button visibility:

  • DxPivotTable.FilterMenuButtonDisplayMode  - Specifies whether a filter menu button is visible for all filter field headers.
  • DxPivotTableField.FilterMenuButtonDisplayMode  - Specifies whether a filter menu button is visible for a specific field.

The Field Filter Menu displays a drop-down window with all unique values of the field. Users can select/deselect these values to filter Pivot Table data.

You can use the following APIs to customize the filter menu as requirements dictate:

  • The  CustomizeFilterMenu event fires before the drop-down filter is displayed and allows you to customize filter items.
  • The  FilterMenuTemplate property specifies the template used for the content displayed within the field's drop-down filter.
  • The  FieldFilterMenuTemplate property specifies the template used for all drop-down filter menus in the Pivot Table.

pivot grid filter ui

In addition to the UI-based filtering options, the DevExpress Blazor Pivot Table  allows you to filter data in code.  To apply filter criteria, create a  criteria operator  object that specifies a filter expression and send this object to the  SetFilterCriteria  method.

To explore the capabilities of the EAP version of the DevExpress Blazor Pivot Table control, open our locally installed Blazor demo:  Pivot Table  → Filter Data.

Blazor Grid & TreeList

PDF Export

Our Blazor Grid and TreeList now support PDF export APIs. This feature allows you to generate PDF documents while preserving key data presentation elements, including:
  • Column order, captions, and alignment
  • Value format and alignment
  • Group rows, group summaries, and group totals
  • Total summaries
We do not expect to support full WYSIWYG export - some UI elements (such as the group panel, search panel, toolbar, and pager, as well as custom CSS styles) will be excluded.

grid pdf export

To explore the capabilities of the EAP version of the DevExpress Blazor Grid control, open our locally installed Blazor demo:  Grid → Export → Export Data.

Keyboard Support Enhancements

  • Filter Row: Users can now enter a new filter value even if a cell editor is inactive (no need to press Enter first).
  • Cell Editing: If the EditOnKeyPress property is enabled, users can begin typing to open an editor for a focused cell.

Blazor Context Menu

Performance Enhancements

We optimized our Blazor Context Menu's rendering logic to reduce the number of messages sent between the server and client. Depending on connection quality and the number of items, DevExpress Context Menus now open 20-50% faster when used in Blazor Server applications.

context menu performance

Blazor Rich Text Editor

Zoom Operations

With v25.1, the DevExpress Blazor Rich Text Editor allows you to zoom in/out of documents with ease (via the UI and in code). Users can modify document zoom level using a drop-down menu within the View Ribbon tab. Available levels range from 50%  to 200% . Disable the AllowZoom property to hide the drop-down zoom level menu.  Irrespective of the  AllowZoom  property value, you can use the ZoomLevel   property to zoom a document at runtime.

rich text editor zoom

To explore the capabilities of the EAP version of the DevExpress Blazor RichEdit control, open the following locally installed Blazor demo: Rich Text Editor → Overview .

Blazor Scheduler

Toolbar Customization

The DevExpress Blazor Scheduler allows you to define custom toolbar items and customize the following built-in items:
  • Today button
  • Next and Previous buttons
  • Date navigator
  • Resource navigator
  • Scheduler View selector
Customization options include:
  • Position and alignment of toolbar items.
  • Enabled, Visible, Tooltip, and Render Style properties.
Use the ToolbarItems  tag to modify a collection of visible toolbar items. Declare DxToolbarItem objects to add custom items to this collection. Alternatively, disable the ShowToolbarArea property to hide the toolbar entirely.
      <DxScheduler ...>
    <ToolbarItems>
        <DxSchedulerPreviousIntervalToolbarItem />
        <DxSchedulerNextIntervalToolbarItem />
        <DxSchedulerTodayToolbarItem />
        <DxSchedulerDateNavigatorToolbarItem />
        <DxToolbarItem GroupName="ScaleDuration"
                       Text="1 day"
                       Click="@((i) => CurrentDuration = TimeSpan.FromHours(24))"
                       Checked="@(CurrentDuration == TimeSpan.FromHours(24))"
                       BeginGroup="true"
                       Alignment="ToolbarItemAlignment.Right"></DxToolbarItem>
        <DxToolbarItem GroupName="ScaleDuration"
                       Text="2 days"
                       Click="@((i) => CurrentDuration = TimeSpan.FromHours(48))"
                       Checked="@(CurrentDuration == TimeSpan.FromHours(48))"></DxToolbarItem>
        <DxToolbarItem GroupName="ScaleDuration"
                       Text="3 days"
                       Click="@((i) => CurrentDuration = TimeSpan.FromHours(72))"
                       Checked="@(CurrentDuration == TimeSpan.FromHours(72))"></DxToolbarItem>
    </ToolbarItems>
</DxScheduler>
custom toolbar items

To explore the capabilities of the EAP version of the DevExpress Blazor Scheduler control, open the following locally installed Blazor demo: Scheduler  → Customization  → Custom Toolbar Items .

Appointment Form Resize and Drag Operations

You can now drag and resize our Extended Appointment Form (it is now easier to view the entirety of a calendar without discarding changes).

Performance Enhancements

We enhanced performance for the following operations/usage scenarios:

  • Time needed to open Date Navigator and Resource Navigator popups
  • Appointment dragging
  • Time needed to open an appointment’s tooltip and compact/extended form
  • Creating, updating, and deleting appointments

UI/UX Enhancements

  • Icons used for the Today button and each view selector (Day, Work Week, Month, Timeline).
  • A dropdown button for the view selector. In previous versions, we used a button group to select view type. With our new dropdown button, the UI requires less space, improving the user experience and allowing you to add additional custom items to the toolbar.
  • A new render style mode for built-in toolbar items. We changed the render style mode to Plain. 
  • New appointment label colors in the Fluent theme. We updated default label colors, replacing bright colors with a pastel palette. This modification was designed to improve visual clarity and reduces eye strain. 
  • New status styles for the Fluent theme. Appointment statuses now use styles similar to those of Microsoft Outlook.

Blazor Charts

Zoom-related APIs

New APIs include:
  • ZoomChanged event - triggers whenever a zoom or pan operation is performed.
  • ResetVisualRange method - restores the maximum possible visual range.
  • SetArgumentAxisVisualRange method - applies a specific visual range to the argument axis.

Series Label API Enhancements 

v25.1 includes an expanded the list of series label options. DxChartSeriesLabel  supports the following pie series label-related properties:

  • TextOverflow and  WordWrap - specifies how the Pie Chart displays text for overflowing labels.
  • RadialOffset - shifts pie series labels radially away from or towards the center of a chart.

Legend Click Events

v25.1 ships with DxChart.LegendClick, DxPolarChart.LegendClick, and DxPieChart.LegendClick events. Handle these events to execute custom logic when users click legend items.


Your Feedback Counts

If you have a specific question about our Blazor EAP (v25.1), feel free to submit a support ticket via the DevExpress Support Center. We will be happy to follow-up. 

For additional information on what you can expect from our mid-year release, please refer to our June 2025 Roadmap.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.