我已经实现了Linq-To-Sql ..
在里面添加必要的表格......
之后,linq类将自动为字段设置属性..
我使用ObservableCollection
类实现了一个类,并在其构造函数中传递了datacontextclass对象...
所以在获取所有数据后如何过滤它?
public class BindBookIssueDetails : ObservableCollection { public BindBookIssueDetails(DataClasses1DataContext dataDC) { foreach (Resource_Allocation_View res in dataDC.Resource_Allocation_Views) { this.Add(res); } } }
private BindBookIssueDetails bResource; bResource = new BindBookIssueDetails(db); _cmbResource.ItemSource=bResource;
请帮助我。
答案 0 :(得分:13)
您可以使用CollectionViewSource
并对其进行过滤。所以它只影响View(.XAML)方
ICollectionView collectionView = CollectionViewSource.GetDefaultView(bResource);
collectionView.Filter = new Predicate<object>(YourFilterFunction);
查看此博客了解更多详情。 http://bea.stollnitz.com/blog/?p=31
答案 1 :(得分:0)
我尝试使用@ Jobi的解决方案,但由于某种原因,我试图触发FilterFunction
时遇到异常。
所以我使用了一种稍微不同的方法。我将CollectionViewSource
的{{1}}投射到DefaultView
BindingListCollectionView
现在我可以构造一个类似SQL的过滤器字符串并像这样应用它:
myVS=(BindingListCollectionView)CollectionViewSource.GetDefaultView(sourceofdata);
我仍然会尝试解决我的问题(我认为@ Jobi的解决方案更灵活)。