1
我正在一个WPF项目有一些DataGrid
的,并在其中一些我需要应用自定义排序算法。所以我一直在寻找一种方式来做到这一点,在许多网页上我发现下面的代码:自定义排序算法BindingListCollectionView
var myListView = CollectionViewSource.GetDefaultView(myDataGrid.ItemsSource);
ListCollectionView myListCollectionView = myListView as ListCollectionView;
myListCollectionView.CustomSort = new CustomSorter();
.
.
.
public class CustomSorter : IComparer
{
public int Compare(object x, object y)
{
// sorting logic ...
}
}
这似乎是进行自定义排序方法很好,但我的问题是,我不能投我的变量myListView
到ListCollectionView
,因为它原来是一个BindingListCollectionView
对象,除了缺乏功能来设置自定义排序算法。
我发现this的解决方案,而是因为他们尝试做以下不为我工作:
ListCollectionView coll = new ListCollectionView(CollectionViewSource.GetDefaultView(myDataGrid.ItemsSource));
但没有构造函数作为paremeter一个ICollectionView对象(这是什么功能GetDefaultView回报)。
那么,有没有办法将自定义排序算法应用到BindingListCollectionView对象?
预先感谢您。
编辑:
不幸的是,该解决方案已被放置在一个DataGrid
devided类,由于该溶液具有是通用。
希望有人能帮助我。
谢谢您的答复。那么,我是否必须在我的项目由类型组成的类型中实现该属性? – Dante 2013-03-01 21:49:14
@Dante编辑回答你的问题? – 2013-03-01 21:57:36
是的,谢谢,但实际上我很担心,如果有一种方法可以进行排序,但在DataGrid派生类中,因为我无法修改我的“DataClass”,因为它是由XSD工具生成的“DataSet”,所以我不会属于负责这样做的团队。 – Dante 2013-03-04 15:45:17