WPF DataGrid筛选器不起作用

时间:2016-10-05 09:18:00

标签: c# wpf datagrid

如何过滤我的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”它不支持过滤

更新:  过滤器现在正在工作,但现在我收到以下错误,它打破了列:

  

System.Windows.Data错误:40:BindingExpression路径错误:   在'对象'''RequestsRow'上找不到'更改日期'属性   (的HashCode = 56483442)”。 BindingExpression:Path =更改日期;   DataItem ='RequestsRow'(HashCode = 56483442);目标元素是   'TextBlock'(Name =''); target属性是'Text'(类型'String')

当某些单元格保持空白时会出现问题

我的数据集。我没有其他课程:

通过替换“SM Id”“SM_Id”等来解决问题

1 个答案:

答案 0 :(得分:0)

试试这个:

List<DataRow> requests = MainDB.CurDB.Requests.Select().ToList();
CollectionViewSource Sorted = new CollectionViewSource() { Source = requests };