如何過濾我的DataGrid? 此代碼不起作用:WPF DataGrid過濾器不起作用
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;
}
例外,我得到:
"System.Windows.Data.BindingListCollectionView" It does not support filtering
更新: 過濾器是現在的工作,但現在我得到以下錯誤,打破列:
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')
當某些單元格保持空時,會出現問題
我的數據集。沒有其他類我有:
問題被替換 「SM ID」 「SM_ID」 解決等
試試這個:'ICollectionView排序= CollectionViewSource.GetDefaultView(MainDB.CurDB.Requests);''而不是'CollectionViewSource Sorted = new CollectionViewSource(){Source = MainDB.CurDB.Requests};' – Pikoh
ICollectionView Sorted = CollectionViewSource.GetDefaultView(MainDB.CurDB.Requests); Sorted.Filter = item => true;拋出異常(「 該方法不支持」) – DenisJNewb
好吧,嘗試'ICollectionView Sorted = CollectionViewSource.GetDefaultView(MainDB.CurDB.Requests.AsEnumerable()); Sorted.Filter = item => true;' – Pikoh