Я хочу, чтобы столбец в моем DataGrid сортировал нулевые значения всегда в конце. Я попытался сделать это, следуя this (part 1) и this (part 2). Но мой пользовательский вид не работает, как я хочу.Sort DataGridColumn с нулевыми значениями всегда внизу
Вот мой метод для сравнения моей колонки:
private int NullableDateTimeCompare(DateTime? date1, DateTime? date2, int direction)
{
if (date1.HasValue && date2.HasValue)
return DateTime.Compare(date1.Value, date2.Value)*direction;
if (!date1.HasValue && !date2.HasValue)
return 0;
if (date1.HasValue)
return 1 * -direction; // Tried different things but nothing work like I will
return -1 * -direction; // Tried different things but nothing work like I will
}
Я впечатление, что это не работает, потому что DataGrid кэшируется Сравните результат и так инвертировать сортировку, когда пользователь сортировать (и не работают в другой раз Compare).
У вас есть идея, как это сделать?
Спасибо!
Если вы всегда хотите, чтобы нули внизу, то сравнение между нулевым значением и ненулевым значением не должно зависеть от направления. – juharr