【发布时间】:2017-04-30 21:28:36
【问题描述】:
我的表格视图上有 31 列(第 1 天 - 第 31 天)和 12(月份名称)行。我想在完整的表格(row wise search)中搜索数据(天),并且只需要为匹配的单元格设置背景颜色。我可以看到可以为使用 cellfactory 函数在特定列中的单元格。
birthdayColumn.setCellFactory(column -> {
return new TableCell<Person, LocalDate>() {
@Override
protected void updateItem(LocalDate item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setText(null);
setStyle("");
}
// Style all dates in March with a different color.
if (item. == Month.MARCH) {
setTextFill(Color.CHOCOLATE);
setStyle("-fx-background-color: yellow");
} else {
setTextFill(Color.BLACK);
setStyle("");
}
};
});
这里它只检查一个名为“birthdayColumn”的列。但在我的情况下,它应该以一种方法检查所有表格单元格(按行),并且只需要为匹配的单元格设置背景颜色。我该怎么做.提前谢谢你
【问题讨论】:
-
A
TableView似乎不太适合这样的日历显示。最好只使用GridPane并自己管理单元格。我不太明白这里是如何设置的:birthdayColumn是哪一列?我会想象有 31 个表列,它们基本上都是一样的。为什么行的数据模型称为Person???当然Month会是一个更好的名字(你也许可以使用java.time.Month,这取决于你如何管理数据)。如果你真的想使用TableView,你需要展示更多你是如何设置的。