Wie kann ich mein DataGrid filtern? Dieser Code funktioniert nicht:WPF DataGrid-Filter funktioniert nicht
public MainWindow()
{
InitializeComponent();
SetSource();
}
private void FilterTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
}
void SetSource()
{
CollectionViewSource Sorted = new CollectionViewSource() { Source = MainDB.CurDB.Requests };
Sorted.SortDescriptions.Add(new SortDescription("Id", ListSortDirection.Descending));
Sorted.Filter += Sorted_Filter;
MainDataGrid.ItemsSource = Sorted.View;
}
private void Sorted_Filter(object sender, FilterEventArgs e)
{
e.Accepted = true;
}
Die Ausnahme erhalte ich:
"System.Windows.Data.BindingListCollectionView" It does not support filtering
Update: Der Filter ist jetzt arbeiten, aber jetzt habe ich die folgende Fehlermeldung erhalten, dass Pausen die Spalten:
System.Windows.Data Error: 40 : BindingExpression path error: 'Changing Date' property not found on 'object' ''RequestsRow' (HashCode=56483442)'. BindingExpression:Path=Changing Date; DataItem='RequestsRow' (HashCode=56483442); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
Das Problem tritt auf, wenn einige Zellen leer bleiben
Mein DataSet. Keine anderen Klassen ich habe:
Das Problem wird durch Ersetzen von "SM Id" "SM_Id" usw.
Versuchen Sie dies: 'ICollectionView Sortiert = CollectionViewSource.GetDefaultView (MainDB.CurDB.Requests); 'anstelle von' CollectionViewSource Sorted = neue CollectionViewSource() {Source = MainDB.CurDB.Requests}; ' – Pikoh
ICollectionView Sorted = CollectionViewSource.GetDefaultView (MainDB.CurDB.Requests); Sorted.Filter = item => true; Auslöser (" Die Methode wird nicht unterstützt") – DenisJNewb
OK, versuchen Sie 'ICollectionView Sorted = CollectionViewSource.GetDefaultView (MainDB.CurDB.Requests.AsEnumerable()); Sorted.Filter = item => true; ' – Pikoh