Как в devexpress изменить значение ячейки после изменения значения другой ячейки?

У меня есть DevExpress.XtraGrid. Я хочу, чтобы пользователь отредактировал один из столбцов, а после его редактирования сетка обновила значение другого столбца. Я пробовал использовать событие CustomRowCellEdit, но всякий раз, когда я добавлял это событие, возникала ошибка; Я все равно не знал, как изменить значение другой ячейки. Может кто-нибудь объяснить, как это сделать?

Итак, у меня есть такая сетка:

----------------
| A | B  | C   |
----------------
| 1 | 50 | 100 |
----------------
| 2 | 20 | 40  |
----------------
| 3 | 10 | 20  |
----------------

Допустим, пользователь редактирует строку 1, столбец B, чтобы он был равен 25. После того, как они внесут изменения, я хочу, чтобы строка 1, столбец C была вдвое больше, чем B. Таким образом, конечный результат находится ниже, где B1 - это значение, введенное пользователем, а C1 рассчитывается на основе значения в B1.

----------------
| A | B  | C   |
----------------
| 1 | 25 | 50  |
----------------
| 2 | 20 | 40  |
----------------
| 3 | 10 | 20  |
----------------

Я пробовал это:

    private void myView_CustomRowCellEdit_1(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
        string newValue = e.CellValue.ToString();
        int index = myView.GetDataSourceRowIndex(e.RowHandle);
        myView.SetRowCellValue(index, "B", newValue);
    }

но я не думаю, что «B» правильно отсылает к столбцу, и я получил ошибку времени выполнения с исключением нулевой ссылки.

Всегда ли значение в столбце C в два раза больше значения из B? В этом случае вы можете использовать несвязанное выражение.

Marko Juvančič 14.09.2018 08:28
0
1
1 249
1

Ответы 1

Событие GridView.CustomRowCellEdit предназначено для условного присвоения элементов репозитория ячейкам сетки. В вашем случае вместо этого необходимо обработать событие GridView.CellValueChanged.

Обратитесь к разделу справки Изменить и проверить значения ячеек для получения дополнительной информации.

Другие вопросы по теме