C#的Filterable Collection有什么好的实现吗?
需要什么:
var data = GetEmployees();
_filtered = new FilterableCollection<Employee>(data);
_filtered.SetFilterExpression(empl => empl.DepartmentId == SelectedDepartment.Id);
...
set
{
SelectedDepartment = value;
_filtered.UpdateRepresentation();
}
Paging,CustomFilterBuilder和Virtualization将是一个优势,但目前不是必需的。
答案 0 :(得分:2)
我不确定你为什么需要这个...... WPF已经通过ICollectionView界面支持了这一点。
ICollectionView view = CollectionViewSource.GetDefaultView(data);
view.Filter = o => ((Employee)o).DepartmentId == SelectedDepartment.Id;