首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >滤波可观测集

滤波可观测集
EN

Stack Overflow用户
提问于 2015-04-30 07:57:56
回答 2查看 2.4K关注 0票数 0

我是wpf,实体框架6和LINQ的新手。我有一个数据网格,它被限制在一个CollectionViewSource上,它被限制在ObservableCollection上。简单地说,我遵循了在https://msdn.microsoft.com/en-us/data/jj574514中找到的教程,成功地从数据网格中添加、更新和删除。本教程展示了如何加载完整的表(即类别):

代码语言:javascript
运行
复制
private void Window_Loaded(object sender, RoutedEventArgs e) 
{ 
     System.Windows.Data.CollectionViewSource categoryViewSource = 
     ((System.Windows.Data.CollectionViewSource)(this.FindResource("categoryViewSource"))); 

     _context.Categories.Load(); 
     categoryViewSource.Source = _context.Categories.Local; 
}

现在我的问题很简单:如果我想加载一些类别,而不是所有的类别,该怎么办?我希望一些用户能够更新特定的类别,因此网格将只加载这些类别。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-30 08:12:18

你需要使用过滤器。

代码语言:javascript
运行
复制
categoryViewSource.View.Filter = item =>
                 {
                     Categories category = item as Categories; // hope this are your items
                     return category.Id > 10; // or put whatever condition you want
                 };

上面的方法只返回Id >10的类别(仅以Id为例)。

还请检查此链接:http://social.technet.microsoft.com/wiki/contents/articles/26673.aspx

票数 0
EN

Stack Overflow用户

发布于 2015-04-30 08:25:12

如果您想使用linq,可以这样做:

代码语言:javascript
运行
复制
ObservableCollection<Model> collection = new ObservableCollection<Model>();

ObservableCollection<Model> filteredCollection = new ObservableCollection<Model>(from item in collection where item.ID >0 && item.ID < 10 orderby item.ID select item);

当我没有弄错的时候,您可以直接将观察到的数据绑定到wpf数据集的ItemsSource属性。

如果您想了解更多关于linq的信息,我建议您阅读https://msdn.microsoft.com/de-de/library/bb397933.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29962151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档