Как узнать, какие строки были обновлены в базовом Datatable при обновлении Datagridview? - PullRequest
3 голосов
/ 26 июля 2010

Это то, чего я пытаюсь достичь:

  1. Таблица данных, заполненная данными из источника, не являющегося базой данных
  2. Эта таблица связана с DataGridView с использованием BindingSource
  3. DataGridView обновляется пользователем, поэтому некоторые ячейки теперь имеют новые значения.
  4. Поскольку таблица связана с сеткой данных, ее значения обновляются.

Как получить только обновленные строки (строки, которые были отредактированы) в сетке / для данных?

Я пытался:

DataRow[] updatedRows = 
              _table.Select(null, null, DataViewRowState.ModifiedCurrent);

Но это всегда возвращает 0 строк.Есть ли способ получить только измененные строки?

Наихудший случай:

  • Сохранить копию исходной таблицы
  • Получить новую таблицу из источника данных datagridview
  • Сравнить все строки.

Спасибо!

1 Ответ

2 голосов
/ 26 июля 2010

Как насчет этого:

DataTable changedRecordsTable = dataTable1.GetChanges();

Более подробную информацию можно найти на Как: получить измененные строки

...