使用代码在CollectionVIewSource中选择特定记录
本文关键字:选择 记录 CollectionVIewSource 代码 | 更新日期: 2023-09-27 18:28:02
Hie。我有一个简单的问题,显然摆在我的面前。如何获得collectionViewSource来选择特定的记录?
我试过这个:
private object Select_CommandExecute(object param)
{
// Select * From Signups where Tag = '2';
var select = context.signups.Where(s => s.tag == 2);
return signupsViewSource.View.MoveCurrentTo(select);
}
但它所做的只是清除所有字段。知道我是怎么做的吗?不管我输入什么数字,结果总是一样的。
我认为Filter就是您想要的。下面是一个使用Filter的示例代码。
IList<Employer> employers;
ICollectionView _employerView;
private string _filterString=string.Empty;
public Window1()
{
InitializeComponent();
employers = GetCustomers();
_employerView = CollectionViewSource.GetDefaultView(employers);
_employerView.Filter = EmployerFilter;
}
public bool EmployerFilter(object item)
{
Employer employer = item as Employer;
return employer.Name.ToLower().StartsWith(_filterString.ToLower());
}
public string FilterString
{
get { return _filterString; }
set{
_filterString = value;
OnPropertyChanged("FilterString");
_employerView.Refresh();
}
}
希望得到帮助。