【发布时间】:2010-01-25 00:51:09
【问题描述】:
当用户在我的DataGrid 中进行列排序时,我希望将所有 null 或空单元格排序到底部,而不是顶部。
我写了一个IComparer<T> 确保空白总是向下排序,但我不知道如何将它应用到我的DataGrid 的列中。请注意,DataGrid 的 initial 类型(我正在使用 LINQ OrderBy() 方法)效果很好。问题是用户执行的所有后续排序都将空白排序到顶部。
比较代码
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);
}
}
问题
如何让DataGridColumn 使用我的比较器?或者如果这是不可能的,你能提供一个解决方法吗?如果可能的话,我希望有一个 MVVM 友好的解决方案。
【问题讨论】:
-
你能用这种方法吗,相当灵活且易于使用。 stackoverflow.com/a/51866332/3601887
标签: wpf xaml sorting mvvm wpftoolkit