Как получить только измененные элементы из таблицы данных WPF - PullRequest
0 голосов
/ 23 августа 2010

Я связал список с редактируемой WPF DataGrid

Я хочу получать только обновленные элементы из таблицы данных WPF для обновления.

Пожалуйста, дайте мне знать, как это сделать.1005 *

Ответы [ 2 ]

1 голос
/ 24 августа 2010

У меня настроено приложение WPF datagrid:

1) Определяет вручную все столбцы, устанавливает их привязки и для каждой привязки указывает, что она уведомляет об обновлениях источника

2) Добавлен обработчик события для события SourceUpdated сетки данных

3) В обработчике событий у меня есть только следующий код:

this.updatedItems.Add(BindingOperations.GetBindingExpression(e.TargetObject, e.Property).DataItem as MyClass); 

updatedItems - это HashSet <>, а MyClass - это тип объектов, связанных с сеткой элементов данных ItemsSouce.

4) Когда пользователь нажимает кнопку «Сохранить», я просто перечисляю хэш-набор. Хэшсет хорош, потому что он содержит только уникальные значения. Поэтому, если строка редактируется несколько раз или даже если несколько ячеек в одной строке редактируются, хэш-набор будет по-прежнему содержать только одну запись для объекта.

0 голосов
/ 23 августа 2010

Хорошо, в вашей строке данных есть свойство RowState (есть также событие RowChanged), но убедитесь, что оно вам нужно.Я ошибочно полагаю, что привязка данных автоматически определяет, какие строки необходимо обновить?

...