c# - 如何使用具有多个条件的 CollectionView 在网格中使用搜索?
问题描述
我有文本框和组合框以及一个 GridView,我想用所有控件(组合框和文本框)过滤网格的某些列,我有此代码将使用一个条件(文本框)过滤的视图返回到自定义列。
备注: 我没有使用 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 == ?
&& ...;
};
推荐阅读
- playframework - 游戏版本
- static - Openssl fipsld 在静态库中的使用
- javascript - Vue.js - 如何导入组件?(MIME 类型错误)
- laravel - 如何在 Laravel 中保存数据
- postman - 设置从 Postman 中的响应中检索到的令牌
- python - 如何处理模型输出以计算损失
- gpu - 以矢量方式计算期权收益(无循环)
- java - 如何处理运行时错误:java.lang.NoSuchMethodError
- react-native - React Native 与 Asp.net Core 照片上传
- python - ValueError:无法将大小为 23760 的数组重新整形为形状 (240,1,28,28)