W jaki sposób można zastosować niestandardową regułę sortowania do siatki danych WPF?
Kiedy użytkownik robi kolumnę, sortuj w moimDataGrid
, Chcę, aby wszystkie puste lub puste komórki były sortowane na dole, a nie na górze.
NapisałemIComparer<T>
to sprawia, że puste miejsca są zawsze sortowane w dół, ale nie wiem, jak zastosować je do kolumn mojegoDataGrid
. Zauważ, żeInicjał rodzajDataGrid
, co robię z LINQOrderBy()
metoda, działa świetnie. Problem polega na tym, że wszystkie kolejne sortowania wykonywane przez użytkownika sortują puste pola do góry.
Kod porównawczy
public class BlankLastStringComparer : IComparer<string>
{
public int Compare(string x, string y)
{
if (string.IsNullOrEmpty(x) && !string.IsNullOrEmpty(y))
return 1;
else if (!string.IsNullOrEmpty(x) && string.IsNullOrEmpty(y))
return -1;
else
return string.Compare(x, y);
}
}
pytania
Jak zdobyćDataGridColumn
korzystać z mojego porównania? A jeśli nie jest to możliwe, możesz zaoferować obejście problemu? W miarę możliwości mam nadzieję na przyjazne rozwiązanie MVVM.