2010-02-25 1 views
1

Я заполняю DataGrid из CollectionViewSource. Каждая строка имеет кнопку удаления. При удалении я удаляю строку из БД. Моя проблема в том, что пользовательский интерфейс DataGrids не обновляется. Как удалить удаленную строку из DataGrid?Как удалить строку из datagrid

Любые предложения, пожалуйста?

ответ

1

Убедитесь, что базовая коллекция реализует интерфейс INotifyPropertyChanged, а OnPropertyChanged вызывается, когда строка удаляется.

ObservableCollection - это метод, который реализует INotifyPropertyChanged, поэтому рассмотрим использование этого как базового объекта коллекции.

MSDN Замечания о CollectionViewSource

CollectionViewSource является прокси-сервер для класса в CollectionView, или класс , полученный из CollectionView. CollectionViewSource позволяет XAML-код установить общие свойства CollectionView, передав эти настройки в базовое представление. CollectionViewSource имеет вид , который содержит фактический вид и свойство Source, которое содержит исходную коллекцию .

Вы можете думать о целях сбора как слоя поверх связывания источника коллекции, которая позволяет перемещаться и отображать коллекцию на основе сортировки, фильтрации и групповых запросов, все без манипулирования основной исходной коллекции. Если исходная коллекция реализует интерфейс INotifyCollectionChanged , изменения, вызванные событием CollectionChanged , распространяются на представления.

Поскольку представления не изменяют исходные коллекции , каждая исходная коллекция может иметь несколько связанных видов. Например, у вас может быть коллекция Задачи объектов. С помощью представлений вы можете найти то же самое в различными способами. Например, на левой стороне страницы вы можете захотеть показать задачи, отсортированные по приоритету, и по с правой стороны, сгруппированные по области.

Дополнительную информацию см. В разделе Переплет в разделе Коллекции в данных Обзор привязки.

+0

Спасибо! Изменение на ObservableCollection было то, что мне нужно! – Reuven

1

Вы также должны удалить данные этой строки из CollectionViewSource. или снова подключить CollectionViewSource из базы данных.

Thanks

 Смежные вопросы

  • Нет связанных вопросов^_^