2012-10-10 2 views
3

DataGridComboBoxColumn과 같이 하나의 열을 가지는 DataGrid가 있습니다. 기존 데이터 표시, itemsource 바인딩, 선택 사항 변경시 소스 업데이트가 정상적으로 작동합니다.wpf의 DataGrid에서 DataGridComboBoxColumn을 정렬하는 중

문제는 영문자 순으로 정렬되지 않은 DataGridComboBoxColumn 헤더를 클릭하는 경우입니다. 내가 체크했을 때 실제로는 값마다 정렬하고 반면 디스플레이마다 정렬하고 싶습니다. 그물을 검색 할 때 "SortMemberPath"속성을 사용해야하며 정렬이 발생해야하는 속성에이 속성을 할당해야한다고 말하고있었습니다.

이렇게하면 머리글을 처음 클릭 할 때만 정렬이 작동하지만 이후의 클릭에는 정렬이 수행되지 않습니다. 나는 그물을 수색했지만 해결책을 찾지 못했습니다. ObservableCollection에

ManageTablesVMInstance - - 뷰 모델

의 예를

데이터베이스 다음

데이터베이스 이상 사용하는 용어의 일부 DataGridComboBoxColumn

<DataGridComboBoxColumn Header="Database Name" 
         SelectedValueBinding="{Binding Path=Databases.DatabaseID, Mode=TwoWay, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" 
         ItemsSource="{Binding Source={StaticResource ManageTablesVMInstance}, Path=Database}" 
         SelectedValuePath="DatabaseID" DisplayMemberPath="DatabaseName" SortMemberPath="DatabaseName" /> 
에 대한

유형 내 XAML입니다 - ObservableCollection

다른 정보가 필요하면 알려주십시오. .net 4.0을 사용 중입니다.

도와주세요.

미리 감사드립니다.

감사합니다,

사마르

답변

6

나 자신에 의해 해결책을 발견했다. SortMemberPath에서 "DatabaseName"대신 "Databases.DatabaseName"을 넣어야합니다. 이렇게하면 정렬 작업이 예상대로 작동합니다. 그래서 xaml은 이렇게 보일 것입니다. 놀랍게도 아무도이 질문에 대답하지 못했습니다. 이유가 궁금합니다.

감사합니다,

사마르

관련 문제