Currently, as a workaround in WinForms you can use the following ViewController:
C#namespace MainDemo.Module.Win {
public class S35126 : DevExpress.ExpressApp.Win.SystemModule.WinDetailViewController {
protected override void OnActivated() {
base.OnActivated();
SuppressConfirmation = IsBatchUpdateEnabled();
}
protected override void OnViewQueryCanChangeCurrentObject(System.ComponentModel.CancelEventArgs e) {
if (IsBatchUpdateEnabled()) return;
base.OnViewQueryCanChangeCurrentObject(e);
}
private bool IsBatchUpdateEnabled() {
return View.Id == "DemoTask_ListView";
}
}
As for the Web, you can consider implementing solutions from the following articles:
ASP ListView edit all lines at once
How to edit multiple selected rows in a single Edit Form
You can also consider embedding a custom user control based on a pure ASPxGridView into an XAF View as described at How to show custom forms and controls in XAF (Example).
See Also:
How to disable an automatic saving when changing the row in an editable list view
BatchEntry - Support for massive manual data entry (Batch Entry)
Proposed Solution:
By default, in an editable ListView if I edit a record and then move to the next record, the annoying confirmation message is displayed. It makes it impossible to edit multiple records and fields in the grid at once.
Currently, I can only enable automatic saving using the WinDetailViewController.AutoCommitListView = True but this way the Save buttons won't be available.
If I don't touch the AutoCommitListView property and just set the WinDetailViewController.SuppressConfirmation = True, then I will be able to edit only a single record and then save the changes. I can't edit multiple records this way because if I move to the next record my previous changes will be lost.
So, it would be good to have the capability to edit multiple records and disable the annoying confirmation message when moving between records. To save multiple changes, I would use the Save buttons when needed. However, the confirmation message should be displayed if I go to another View.