如何在多个条件下使用 CollectionView 在网格中进行搜索?

How can I use search in the grid using CollectionView with multiple conditions?

我有文本框和组合框以及一个 GridView,我想用所有控件(组合框和文本框)过滤网格的某些列,我有这段代码 return 一个视图用一个条件过滤(文本框)到自定义列。

备注:我没有使用MVVM模式。

    GridView.ItemsSource = MyList.ToList();
    ListCollectionView view = (ListCollectionView)CollectionViewSource.GetDefaultView(MyList);

    view.Filter = delegate (object item) { return (item as User).Name.Contains(Name_txt.Text); };
    GridView.ItemsSource = view;


    public class User 
     {
       public Id { get; set; }
       public Name { get; set; }
     } 

如何使用多个条件(输入)过滤数据网格列?

您应该将所有条件添加到 Filter 谓词,例如:

view.Filter = delegate (object item)
{ 
    User user = item as User;
    if (user == null)
        return false;

    return user.Name.Contains(Name_txt.Text)
        && comboBox1.SelectedItem == ?
        && ...; 
};