Не удается отфильтровать таблицу сведений, привязанную к основной таблице, с помощью фильтра строк?

Если я хочу отфильтровать таблицу сведений (показанную в DataGrid), используя, например, что-то вроде этого: DSHistory.TBL_MATERIAL.DefaultView.RowFilter = string.Format("MAT_NAME LIKE '%{0}%' AND MAT_FK_LFR_ID = {1}",TextBoxSearch.Text, ComboBoxLieferant.SelectedValue); это работает, только если я явно изменю ItemsSource DataGrid на: dg1.ItemsSource = DSHistory.TBL_MATERIAL; в событии, но тогда привязка не будет работать больше (в page_loaded я добавил DataContext следующим образом: this.DataContext = DSHistory.TBL_LIEFERANTENSTAMM; и, конечно же, привязал основную и подробную таблицы в XAML: <ComboBox Name="ComboBoxLieferant" ItemsSource="{Binding}" DisplayMemberPath="LFR_NAME" IsSynchronizedWithCurrentItem="True" SelectionChanged="ComboBoxLieferant_SelectionChanged" /> и <DataGrid Name="dg1" ItemsSource="{Binding Path=FK_TBL_MATERIAL_TBL_LIEFERANTENSTAMM}" IsSynchronizedWithCurrentItem="True">

Есть ли способ фильтровать так, не «нарушая» привязку?

Спасибо за помощь!


person IronKalli    schedule 07.07.2015    source источник


Ответы (1)


Эту проблему я решил сам. Я создал класс фильтра, в котором я создаю BindingListCollectionView. Затем я могу легко отфильтровать это представление с помощью пользовательского фильтра.

person IronKalli    schedule 22.07.2015