2009-11-10 3 views
2

정보를 업데이트해야하는 여러 DataGrid가 있습니다. 여러 사람이 시스템에서 동시에 작업하기 때문에 DataGrid를 정기적으로 새로 고쳐야합니다. 새로 고침을하면 사용자가 수행 한 정렬 작업을 잃게됩니다.WPF Datagrid로 열 정렬 유지

보관 방법이 있습니까?

감사

이 검증되지 않은,하지만 당신이 뭔가를 할 수 있다는

답변

2

주?

ListCollectionView lcv = (ListCollectionView)CollectionViewSource.GetDefaultView(myDataGrid.ItemsSource); 
IComparer mySort = lcv.CustomSort; // assumes you've already set it beforehand 
... // stuff happens 
lcv.CustomSort = mySort; 

난 여전히 자신 WPF 학습 만이 희망입니다 좀 도와 ... - 매트입니다.

+1

모든 자료를 포함하려면 SortDescriptions를 통해 복사 할 수도 있습니다. 그렇게하면 정렬이 선택 되더라도 정렬 순서가 유지됩니다. 관련 코드는 다음과 같습니다. var sd = lcv.SortDescriptions.ToList(); [...] –

5

바운드 컬렉션의 내용을 업데이트하기 만하면 컬렉션 자체를 바꿀 수 없습니다. 그런 다음 새 CollectionView를 얻지 않아 정렬에 영향을 미치지 않습니다.

+0

시도했지만 보일 수 없다 [...] if (! lcv.SortDescriptions.SequenceEqual (sd) {lcv.SortDescriptions.ClearItems(); foreach (dd sd) lcv.SortDescriptions.Add (d);} 그것을 작동 시키려면. 나는 다른 시간에 그것을 확인해야 할 것이다. –