Log In
[Expand]Welcome to DevExpress .NET Documentation
[Expand]WinForms Controls
[Collapse]ASP.NET Controls and MVC Extensions
 [Expand]What's Installed
 [Expand]Common Concepts
 [Collapse]ASP.NET WebForms Controls
   Getting Started
  [Expand]Chart Control
  [Collapse]Grid View
   [Expand]Product Information
    Getting Started
    [Expand]Binding to Data
    [Expand]Data Representation Basics
    [Expand]Focus and Navigation
    [Collapse]Data Editing
      Edit Form
      Adding and Deleting Records
      Row Validation and Error Indication
      Edit Form Validation (Templates)
      Processing Custom Callbacks
      Batch Edit Mode
    [Expand]Data Shaping and Manipulation
    [Expand]Data Formatting
    [Expand]Master-Detail Relationship
     Appearance Customization
     Save and Restore Layout
    ASPxGridView Designer
   [Expand]Visual Elements
   [Expand]Member Tables
   [Expand]ASPxGridView - Animated Images
  [Expand]Card View
  [Expand]Vertical Grid
  [Expand]Rich Text Editor
  [Expand]Image and Data Browsing
  [Expand]Docking and Popups
  [Expand]Site Navigation and Layout
  [Expand]File Management
  [Expand]Multi-Use Site Controls
  [Expand]HTML Editor
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Data Editors
  [Expand]Spell Checker
  [Expand]Query Builder
 [Expand]ASP.NET MVC Extensions
 [Expand]Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Report Server
[Expand]eXpressApp Framework
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Batch Edit Mode

The ASPxGridView control allows you to modify a batch of grid data on the client-side and send it to the server in a single request. All user changes are maintained on the client-side until the Save changes button is clicked, or canceled by clicking the Cancel changes button. To enable the batch editing functionality, set the ASPxGridViewEditingSettings.Mode property to Batch.

Expanded Batch Edit Mode Settings

You can customize the ASPxGridView's functionality in batch edit mode using the following features:

Edit mode

End-users can edit data contained within a grid using in-line editors. The GridViewBatchEditSettings.EditMode property allows you to specify which control element (data cell or data row) is used to edit data.

Start edit action

Set the GridBatchEditSettings.StartEditAction property to one of the following values to specify which user action invokes a data cell's in-line editor:

Preventing end-user editing

To prevent an end-user from editing column cells, set the column's GridColumnEditFormSettings.Visible property to false. In this case, column cells cannot switch to the edit mode. When an end-user navigates through cells using the TAB key, column cells are skipped.

Confirmation on losing changes

If a grid contains modified data, it displays a "confirm" message before a grid callback or postback is performed. You can customize the message text using the ASPxGridTextSettings.ConfirmOnLosingBatchChanges property or you can disable it by setting the GridBatchEditSettings.ShowConfirmOnLosingChanges property to false.


The ASPxGridView allows you to validate grid data on the client side in batch edit mode. Use the ASPxClientGridView.BatchEditRowValidating event to specify whether an end-user's changes are valid.

Set the GridBatchEditSettings.AllowValidationOnEndEdit property to one of the following values to specify when the ASPxClientGridView.BatchEditRowValidating event should be fired:

To validate grid data programmatically, use the ASPxClientGridViewBatchEditApi.ValidateRow method for the specified data row/cell and the ASPxClientGridViewBatchEditApi.ValidateRows method for all displayed data.

See the T171182: ASPxGridView - How to implement custom date validation in Batch Edit mode code example to learn more information about grid validation in batch edit mode.

Data Item Template

The ASPxGridView provides a set of API members to process a content of data cells specified in data item templates.

Use the ASPxClientGridViewBatchEditApi.GetCellTextContainer method to get a column's container object when the grid is in batch edit mode. To specify whether a data item template should be overwritten in a data cell when its editing is completed, use the GridBatchEditSettings.AllowRegularDataItemTemplate property.

The following code example demonstrates how to use the described API resources: T506160: How to use and modify a control placed in the DataItemTemplate.

In Batch Edit mode, when creating a new row and if a column implements the DataItemTemplate, only HTML markup of the row is copied. So we recommend using the DataItemTemplate in Batch Edit mode only for appearance customization.

Expanded Appearance Customization

The ASPxGridView highlights all modified values in batch edit mode by default.

You can customize the visual presentation of modified data cells/rows using the following properties:

You also can remove deleted data rows from the grid instead of highlighting them. To do this, switch the GridViewBatchEditSettings.HighlightDeletedRows property to false.

Expanded Client-side Functionality

The ASPxClientGridView.batchEditApi property provides you access to the client API related to batch edit mode. The tables below list the API resources that you can use to invoke grid commands on the client-side:

Start editing
Member Description
ASPxClientGridView.StartEditRow Invokes in-line editors in a specified row
ASPxClientGridViewBatchEditApi.StartEdit Invokes the in-line editor in a specified cell
Add/Delete row
Member Description
ASPxClientGridView.AddNewRow Adds a new record. Additionally, it does not perform a callback in batch edit mode.
ASPxClientGridView.DeleteRow Deletes the specified row.
ASPxClientGridViewBatchEditApi.IsNewRow Indicates if the row with specified visible index is newly created.
ASPxClientGridViewBatchEditApi.IsDeletedRow Indicates if the row with specified visible index is deleted.
Finish editing
Member Description
ASPxClientGridViewBatchEditApi.EndEdit Ends cell or row editing
ASPxClientGridView.UpdateEdit Ends cell or row editing and send all changes to the server
ASPxClientGridViewBatchEditApi.ResetChanges Resets all unsaved changes in a specified row/cell
ASPxClientGridView.CancelEdit Cancels all the changes made and switches the GridView to browse mode.

Note, that some client-side methods are not in effect in batch edit mode. See the Batch Edit Mode Limitations - Unsupported client-side API topic for more details.

Expanded Batch Edit Mode Events

The ASPxGridView provides a set of events that allow you to perform custom actions when end-users interact with the grid in batch edit mode.

Server-side events

The ASPxGridBase.BatchUpdate event allows you to implement the custom data updating mechanism. The event fires when an end-user clicks on the Save Changes button or the ASPxClientGridView.UpdateEdit method is called; the ASPxGridBase.BatchUpdate event handler receives an argument containing information about all changed values. The following code snippet demonstrates how to use this event:

Client-side events

The ASPxClientGridView provides a set of the client-side methods that occur only when the grid is in batch edit mode. These methods are listed in the following tables:

Expanded Batch Edit Mode Limitations

Some of the ASPxGridView control's features and API members are not in effect in batch edit mode, since all user changes are maintained on the client-side.

Unsupported features

The features below are not supported when the grid is in batch edit mode:

Unsupported server-side API

The following ASPxGridView members are not in effect when the grid is in batch edit mode:

You can use the client-side API instead of the listed ASPxGridView members.

Unsupported client-side API

The following members of the ASPxClientGridView are not in effect when the grid is in batch edit mode:

ASPxClientGridView.GetTopVisibleIndex property does not return the correct values if rows were deleted/inserted. Use the ASPxClientGridViewBatchEditApi.GetRowVisibleIndices instead.

Expanded Code Examples

Expanded See Also

Is this topic helpful?​​​​​​​