java - JavaFX Tableview对java.sql.Date列进行排序,底部为null
问题描述
我有一个包含 java.sql.Date 的列,我希望它按升序将空值放在底部:
现在,他们最终处于领先地位。
followupCol.setCellFactory((TableColumn<DisabilityCase, Date> p) ->
{
TableCell<DisabilityCase, Date> cell = new TableCell<DisabilityCase, Date>()
{
@Override
protected void updateItem(Date item, boolean empty)
{
super.updateItem(item, empty);
if (item == null || empty)
{
setText(null);
} else
{
if (!LocalDate.now().isBefore(item.toLocalDate()))
{
setTextFill(Color.RED);
} else
{
setTextFill(Color.BLACK);
}
setText(new SimpleDateFormat(DATE_FORMAT).format(item));
}
}
};
return cell;
});
解决方案
既然java.sql.Date
已经是Comparable
,你可以使用
followupCol.setComparator(Comparator.nullsLast(Comparator.naturalOrder()));
推荐阅读
- c# - UWP 多个 SharePoint 列表字典
- python - Spanner Python 客户端“绑定参数记录错误的无效值”
- arrays - Excel LOOKUP 从上到下的范围
- c++ - 使用 DWORD 解决重载函数调用
- java - 使用 lambda 在 Java 中对列表进行排序
- warnings - 使用 '!' 这里已弃用,将在未来的版本中删除
- javascript - 如何从对象数组的多个键中获取所有值?
- react-native - React Native - 带有 urlencoded 参数的 Axios POST
- html - RouterLink 在角度 6 中无法正常工作
- c# - 我可以获得在 UWP 应用中接收 Google Drive API 推送通知所需的简化步骤列表吗?