에 좀 DataGrid
년대가있는 WPF 프로젝트를 진행하고, 그들 중 일부에 나는 사용자 정의 정렬 알고리즘을 적용해야합니다. 그래서 방법을 검색 한 것은 이러한 목표를 달성하기 위해 많은 웹 페이지에 다음 코드 발견 :사용자 정의 정렬 알고리즘 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 ...
}
}
사용자 지정 정렬을 수행 할 수있는 아주 좋은 방법이 될 것 같다,하지만 내 문제가 있다는 것입니다 I 이 외에 사용자 정의 정렬 알고리즘을 설정하는 기능의 부족한 BindingListCollectionView
객체로 밝혀졌다 때문에 ListCollectionView
내 변수를 myListView
캐스팅 수 없습니다.
나는 this 해결책을 발견하지만 그들은 다음을 수행하려고하기 때문에 나를 위해 작동하지 않습니다
ListCollectionView coll = new ListCollectionView(CollectionViewSource.GetDefaultView(myDataGrid.ItemsSource));
을하지만 기능 GetDefaultView 반환되는 (A paremeter로 ICollectionView에 객체를 취하는 생성자가 없다).
그래서하는 BindingListCollectionView 객체에 정렬 알고리즘 사용자 지정을 적용 할 수있는 방법은 무엇입니까?
미리 감사드립니다.
편집 :이 솔루션은 일반적으로 가지고 있기 때문에
불행하게도,이 솔루션은하는 DataGrid
나누어 클래스에 배치 될 수있다.
누군가 나를 도울 수 있기를 바랍니다.
가 답장을 보내 주셔서 감사합니다. 그렇다면 아이템이 만들어지는 유형의 속성을 구현해야합니까? – Dante
@ 단테가 편집 답변을합니까? –
예, 감사합니다,하지만 실제로 나는 종류를 만들 수있는 방법이 있는지 wordering했지만 그것은 XSD 도구에 의해 생성 된'DataSet'을하기 때문에 데이터 그리드 파생 클래스에서 내 "DataClass"를 수정할 수 없기 때문에, 나는 그나마 그 일을 담당하는 팀에 속해 있습니다. – Dante