Skip to main content

BaseView.UpdateCurrentRow() Method

Validates the currently focused row’s value/data.

Namespace: DevExpress.XtraGrid.Views.Base

Assembly: DevExpress.XtraGrid.v24.2.dll

Declaration

public virtual bool UpdateCurrentRow()

Returns

Type Description
Boolean

true if the row has been successfully updated; otherwise, false.

Remarks

As implemented in the BaseView class, the UpdateCurrentRow method does nothing and always returns true. It is overridden in the ColumnView class to raise the ColumnView.ValidateRow event so that you can manually specify whether row values are valid. Read the ColumnView.UpdateCurrentRow topic for more information.

Refer to the Modify and Validate Cell Values topic for information on how to check the validity of data entered by end-users into a row.

Note

Detail pattern Views do not contain data and they are never displayed within XtraGrid. So, the UpdateCurrentRow member must not be invoked for these Views. The UpdateCurrentRow member can only be used with Views that display real data within the Grid Control. Use the following methods to access these Views with which an end user interacts at runtime.

Example: Immediately update the View on cell value changes

Assume that the content or appearance settings of a View’s specific elements are dependent on cell values, and you want to update these elements immediately after a cell value is changed. For instance, you may want to calculate a custom summary or apply conditional formatting after a user changes a cell value.

To perform this task, ensure that an in-place editor (a RepositoryItem descendant) is assigned to a column. Then handle an in-place editor’s RepositoryItem.EditValueChanged event, and call a Data Grid View’s PostEditor and UpdateCurrentRow methods.

RepositoryItemTextEdit rItemTextEdit = new RepositoryItemTextEdit();
rItemTextEdit.EditValueChanged += RItemTextEdit_EditValueChanged;
gridControl1.RepositoryItems.Add(rItemTextEdit);
gridColumn1.ColumnEdit = rItemTextEdit;

private void RItemTextEdit_EditValueChanged(object sender, EventArgs e) {
    if(gridView1.PostEditor())
        gridView1.UpdateCurrentRow();
}
See Also