Kullanıcı benim DataGrid
'umda bir sütun sıralamasında, tüm boş veya boş hücrelerin en üste değil, altına sıralanmasını istiyorum.WPF DataGrid'e özel sıralama kuralı nasıl uygularım?
IComparer<T>
numaralı belgede, boşlukların her zaman aşağı sıralanmasını sağlayan bir yazı yazdım, ancak bunu DataGrid
numaralı sütununun sütunlarına nasıl uygulayacağımı anlayamıyorum. LINQ OrderBy()
yöntemiyle yaptığım DataGrid
numaralı ilk türünün, harika çalıştığını unutmayın. Sorun, kullanıcı tarafından gerçekleştirilen sonraki tüm sıraların boşlukları en üste sıralamasıdır.
Comparer Kod
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);
}
}
Sorular
nasıl karşılaştırıcısı kullanmak DataGridColumn
alabilirim? Ya da bu mümkün değilse, bir geçici çözüm önerebilir misiniz? Mümkünse MVVM dostu bir çözüm bekliyorum. içten
dataGrid.Sorting += new DataGridSortingEventHandler(SortHandler);
uygulamak sıralama olayına bağlamak ben sınıf içinde tüm bu tutmak için ızgara kaynaklanıyor, bu yüzden ben olay işleyicileri eklemek:
(http://msdn.microsoft.com/ en-us/kütüphane/ms752347.aspx # how_to_create_a_view). – xr280xr