.NET - DataGridView - Обновление базы данных, когда пользователь добавляет строку - PullRequest
1 голос
/ 07 декабря 2010

Привет, ребята.У меня проблема с использованием таблицы данных для пользователя, который вводит данные, сохраненные в базе данных.По сути, я просто хочу, чтобы они бросали вещи в ряд, а затем мой код вставлял данные.Я знаю, что должно быть какое-то событие для того, что я пытаюсь сделать, и я просто не могу понять это.

Я пробовал событие LeavingRow, но проблема в том, что окончательное значение не имеетобновляется при срабатывании этого события.Я имею в виду, что у нас есть строка с четырьмя столбцами, и пользователь ввел данные в первые три столбца.Они вводят информацию в последнем столбце, а затем нажимают вниз, чтобы ввести новую строку.Вставка завершается неудачно, потому что она думает, что последний столбец все еще пуст.

Я также попытался UserAddsRow, но у него это не получилось, потому что он срабатывает, как только пользователь начинает вводить, чтобы добавить строку, так что будет толькоодиночный символ в первом столбце строки, которую я пытался добавить.

У кого-нибудь есть предложения по получению этих или какого-либо другого события, работающего для моих целей?

Две неуместные альтернативы, которые я 'Взвешивание: а) связывание вместе нескольких меток / текстовых полей и кнопки добавления или б) использование события DataGridCell_ValueChanged с помощью некоторого вложенного try / catch, который сначала попытается вставить, затем, если не удастся, попытаться обновить, а затем ничего не делать, еслиобновление не работает.Это крайне неэффективно, но я думаю, что это выполнит работу, поскольку в этом обзоре данных будет только пара десятков рядов вершин за один раз.

Спасибо за ваше время.

1 Ответ

2 голосов
/ 07 декабря 2010

Я обычно использую событие RowValidated. Я использую это событие, потому что оно позволяет вводить / редактировать всю строку перед попыткой сохранить изменения.

При обработке события я получаю строки, которые были добавлены, обновлены или удалены из набора данных (DataSet.GetChanges), а затем выполняю соответствующие действия для каждого типа (Добавить, Обновить, Удалить).

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