Пометить строку как удаленную в dataTable на UserDeletingRow - PullRequest
0 голосов
/ 27 апреля 2010

У меня есть привязка данных к dataGridView winforms через BindingSourceControl. Я хочу иметь возможность обрабатывать событие UserDeletingRow из dataGridView и пометить строку в моей dataTable как удаленную. Затем мне нужно иметь возможность извлечь строки, помеченные как удаленные, из таблицы данных, чтобы я мог удалить их из своей базы данных при нажатии кнопки «Сохранить». Пожалуйста, я не хочу удалять из базы данных при каждом срабатывании UserDeletingRow, только помечайте эту строку как удаленную в моем наборе данных.

Кто-нибудь может указать, как это сделать?

Ответы [ 2 ]

2 голосов
/ 10 мая 2010

Лучшее, что я нашел для этого, - обязательно вызовите AcceptChanges () для dataTable / dataset перед началом редактирования - я сделал это при загрузке формы, когда данные были привязаны к сетке. Теперь, когда пользователь удаляет записи через сетку и затем нажимает «сохранить», я могу фильтровать строки в dataTable по rowState строки, чтобы получить те, которые были удалены. Обратите внимание, что свойство Count в коллекции строк dataTable уменьшается на единицу каждый раз, когда пользователь удаляет строку, но строка все еще находится в dataTable, ее просто помечают для удаления.

1 голос
/ 27 апреля 2010

Захватите "row tod" rowId (ов) в коллекции, затем создайте некоторый метод и передайте коллекцию для обработки удаления записей

...