Если щелкнуть любую другую ячейку, когда ячейка той же строки таблицы данных находится в режиме редактирования, это означает, что операция недопустима при повторном входящем вызове. - PullRequest
0 голосов
/ 01 ноября 2011

Мой вопрос похож на ниже, за исключением того, что я не знаю, какова альтернатива.

Почему мой связанный DataGridView выдает ошибку «Операция недопустима, поскольку она приводит к повторному вызову функции SetCurrentCellAddressCore»?

Когда пользователь заканчивает редактирование, сетка данных должна обновляться и отображать только те записи, которые удовлетворяют критериям просмотра данных гирда. поэтому в конце EndEdit я вызываю событие doubleClick элемента управления, который снова заполняет сетку в соответствии с критериями. этот подход работает нормально, пока редактирование завершено. но если пользователь все еще находится в режиме редактирования и щелкает любую другую ячейку того же datagridview, я получаю это исключение.

Операция недействительна, поскольку она приводит к повторному вызову Функция SetCurrentCellAddressCore.

все остальные элементы управления хороши, потому что сетка вышла из режима редактирования. Я пробовал:

datagridview.CancelEdit();

перед повторным назначением источника данных в сетке, но это дает то же исключение.

1 Ответ

2 голосов
/ 16 ноября 2011

Если вы обновляете сетку a-sync, используя

this.BeginInvoke(new MethodInvoker(Refresh_dataGridView1));

это должно решить проблему. Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...