как удалить запись из сохраненного хранилища, когда пользователь удаляет строку в Datagridview - PullRequest
0 голосов
/ 16 ноября 2018

Я сейчас использую это:

Private Sub PersonDataGridView_UserDeletingRow(sender As Object, e As DataGridViewRowCancelEventArgs) Handles PersonDataGridView.UserDeletingRow
            DBContext.Persons.Remove(e.Row.DataBoundItem)
End Sub

Но это ведет себя странно: иногда удаляет правильную запись, но затем выдает ошибку об индексе вне диапазона (в переводе с голландского: ошибка вDatagridview: индекс вне диапазона: ThrowArgumentOutOfRangeException ) впоследствии;

Пример: у меня есть 5 строк в сетке данных;Я удаляю строку 3, используя приведенный выше код, затем строки 3 и 4 удаляются из таблицы данных.Это приводит к ошибке при попытке сохранить DBcontext во второй удаленной строке, поскольку он не был установлен как «удаленный» в контексте ...

1 Ответ

0 голосов
/ 20 ноября 2018

Вы хотите использовать UserDeletedRow. Используя UserDeletingRow, вы удаляете запись 3 из источника данных по своему усмотрению, но затем меняется вид сетки данных, и он снова запускает userdeletingrow.

Вы хотите выполнить удаление в источнике данных только после удаления записи из таблицы.

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