Обновление источника данных XtraGrid при попытке редактирования - PullRequest
2 голосов
/ 22 сентября 2009

У меня есть XtraGrid с источником данных, установленным в BindingList. Некоторые поля в сетке доступны для редактирования. Проблема в том, что список получает много обновлений для некоторых других полей (не тех, которые я могу редактировать), что приводит к обновлению привязки. Если я занимался частью ячейки через редактирование поля, это отбрасывается, и редактор закрывается.

Есть ли способ сделать так, чтобы ячейка с открытым редактором не обновлялась? Или даже сделать так, чтобы весь этот ряд не обновлялся, если мне нужно?

1 Ответ

5 голосов
/ 08 октября 2009

В виде сетки вы можете вызвать BeginDataUpdate (), чтобы «предотвратить визуальное и внутреннее обновление данных» пока EndDataUpdate () не будет вызван.

Таким образом, вы можете сделать что-то вроде этого (события, к которым вы присоединяетесь, могут быть не лучшими, но вы поймете, что идея):

private void gridView1_CellValueChanging(object sender, CellValueChangedEventArgs e)
        {
             gridView1.BeginDataUpdate();
        }

private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e)
        {
             gridView1.EndDataUpdate();
        }
...