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