CellEditContext.OnChanged(String, Object) Method

A delegate method that handles a cell value change in the specified column.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v21.1.dll

Declaration

public void OnChanged(
    string fieldName,
    object value
)

Parameters

Name Type Description
fieldName String

A data source field name.

value Object

A cell value.

Remarks

When you use an edit template, the grid does not know what you have changed in editors inside this template. Call the OnChanged method when you change a cell value in a custom editor to inform the grid about the change and save a new cell value to the EditedValues collection. Then, this collection is passed to the RowUpdating and RowInserting events.

<DxDataGrid Data="@DataSource"
    RowInserting="@((newValues) => OnRowInserting(newValues))"
    RowUpdating="@((updatingDataItem, newValues) => OnRowUpdating(updatingDataItem, newValues))">
    ...
    <DxDataGridComboBoxColumn Field="@nameof(Vacancy.Region)" Data="@VacancyRepository.Regions">
        <EditTemplate>
            @{
                var editingContext = (CellEditContext)context;
            }
            <DxComboBox Data="@VacancyRepository.Regions"
                Value="@region"
                ValueChanged="@((string newCellValue) => {
                    editingContext.OnChanged(newCellValue);
                    editingContext.OnChanged(nameof(Vacancy.City), null);
                })">
            </DxComboBox>
        </EditTemplate>
    </DxDataGridComboBoxColumn>
</DxDataGrid>

Online Demo

Data Grid - Cascading Editors

See Also