当数据网格上的项目源更改时,WPF数据网格排序
本文关键字:数据网 网格 数据 排序 WPF 项目 | 更新日期: 2023-09-27 18:11:49
有人知道我如何排序数据网格时,网格的Itemsource更改?例如,如果我有一个产品的数据网格,和另一个产品版本的网格,当我选择一个产品时,产品版本数据网格的ItemSource将会改变,所以我想在数据出现在产品版本数据网格内之前进行排序。
我现在排序的方式是。
<CollectionViewSource x:Key="cvsProductVersions"
Source="{Product.ProductVersions, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Filter="CollectionViewSource_Filter">
<!--<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Build1" Direction="Descending"/>
</CollectionViewSource.SortDescriptions>-->
</CollectionViewSource>
我想我需要使用
CollectionViewSource.GetDefaultView(dgProductVersion.ItemsSource).Refresh();
然而,我需要一个事件,基本上意味着"运行这段代码一旦一个新的项目源应用到表。
欢呼
在某些阶段,我猜您将集合设置为CollectionViewSource
的ItemsSource
属性值。为什么不在分配给CollectionViewSource
之前使用LinQ
进行排序呢?:
SomeCollection = new ObservableCollection(SomeCollection.OrderBy(i => i.Build));
您可以直接刷新CollectionViewSource
,但这通常不是用户想要的,因为它会完全刷新…您可以尝试这样做:
(dgProductVersion.ItemsSource as ListCollectionView).Refresh();
第三个选项可以在ItemsControl中找到:'E'表示Dr. WPF网站上的可编辑集合