Data Binding

The Data Grid was moved to maintenance support mode. No new features/capabilities will be added to this component. We recommend that you migrate to the Grid component.

Date
Forecast
Cloud Cover
Temp. (℃)
Temp. (℉)
Saturday, August 13, 2022 Warm Sunny 21 69.8
Sunday, August 14, 2022 Warm Cloudy 18 64.4
Monday, August 15, 2022 Warm Sunny 20 68
Tuesday, August 16, 2022 Warm Sunny 20 68
Wednesday, August 17, 2022 Warm Partly cloudy 17 62.6

Our Blazor Data Grid allows you to display, manage, and manipulate tabular data with absolute ease. You can use the Data property to bind the grid to a strongly typed collection. Initialize this collection in the OnInitialized lifecycle method or before this method is invoked. To display data within our Blazor Grid, simply add columns to the markup and use the Field property to assign data fields as needed.

Asynchronous Data Binding

The Data Grid was moved to maintenance support mode. No new features/capabilities will be added to this component. We recommend that you migrate to the Grid component.

Company Name
Contact Name
Contact Title
Country
City
Address
Phone
Exotic Liquids Charlotte Cooper Purchasing Manager UK London 49 Gilbert St. (171) 555-2222
New Orleans Cajun Delights Shelley Burke Order Administrator USA New Orleans P.O. Box 78934 (100) 555-4822
Grandma Kelly's Homestead Regina Murphy Sales Representative USA Ann Arbor 707 Oxford Rd. (313) 555-5735
Tokyo Traders Yoshi Nagase Marketing Manager Japan Tokyo 9-8 Sekimai Musashino-shi (03) 3555-5011
Cooperativa de Quesos 'Las Cabras' Antonio del Valle Saavedra Export Administrator Spain Oviedo Calle del Rosal 4 (98) 598 76 54

Use the DataAsync property to bind our Blazor Data Grid to a strongly typed collection that is loaded asynchronously (for instance, from an HTTP request). This property allows you to prevent excessive re-rendering and draw the grid's UI skeleton before data is loaded. The property specifies an asynchronous function that returns a Task<IEnumerable<T>> object and accepts a CancellationToken object as a parameter.

GitHub Example: How to bind the Data Grid to a strongly typed collection loaded asynchronously

Custom Data Binding

The Data Grid was moved to maintenance support mode. No new features/capabilities will be added to this component. We recommend that you migrate to the Grid component.

Customer ID
Order Date
Freight
Ship Country
Ship Via

If your data is stored in a remote service and is loaded through a Web API, assign the data type to the grid's T parameter and use the CustomData property to implement desired data load logic. This property specifies an asynchronous function that accepts two parameters: a DataSourceLoadOptionsBase object that reflects the current grid state and a CancellationToken object that propagates cancellation notifications. In this function, you can use the ConvertToGetRequestUri and ConvertToHttpContent extension methods to generate HTTP requests with parameters based on data load options. The function should return a Task object.

On the remote service, implement an API controller and create action methods that use the DataSourceLoader class to create a LoadResult object based on load options.

In this demo, the Data Grid and the Customer ID and Ship Via combobox columns are bound to a remote Web API service. The ConvertToGetRequestUri extension method is used to generate a GET request URI with parameters based on data load options. The Web API controller uses the DataSourceLoader.Load method to load data.

Large Datasets

The Data Grid was moved to maintenance support mode. No new features/capabilities will be added to this component. We recommend that you migrate to the Grid component.

State
Area
County
Location
Year
Bedrooms
Rent
Population
IN Marshall County Marshall County Marshall County 1987 3 $426.00 47,051
TX Fort Worth-Arlington Parker County Parker County 2005 1 $597.00 116,927
WI Lincoln County Lincoln County Lincoln County 2005 1 $410.00 28,743
LA New Orleans-Metairie-Kenner St. John the Baptist Parish St. John the Baptist Parish 1980 3 $497.00 45,924
TX Concho County Concho County Concho County 1996 2 $367.00 4,087
KY Lexington-Fayette Woodford County Woodford County 2013 2 $700.00 24,939
KS Saline County Saline County Saline County 1987 0 $239.00 55,606
MA Springfield Hampden County Southwick town 2007 3 $1,005.00 9,502
ME Lincoln County Lincoln County South Bristol town 1988 3 $499.00 892
IL Wabash County Wabash County Wabash County 1993 2 $370.00 11,947

In this demo, the DevExpress Blazor Data Grid is bound to a data collection with over a million rows (1GB+ in overall size). Navigate between grid pages, sort data, or filter data to experience our Blazor DataGrid's responsiveness and performance capabilities when binding to large datasets.

You can use any of the ways demonstrated above (the Data, DataAsync, or CustomData property) to bind the grid to a large data collection. The collection must implement the IQueryable<T> interface. This demo uses the DataAsync property and Entity Framework Core.