【发布时间】:2018-03-22 21:33:45
【问题描述】:
我正在为一个人制作出勤表视图。我正在获取 tableView 行,如果该特定日期的人的状态为“存在”(字符串),那么我想更改该 particular 行并将其背景颜色更改为绿色。
然后,如果他在那个特定天“缺席”,我想更改该行并设置红色背景。
否则,如果行中没有日期和状态,我需要再次更改行并设置白色背景。
问题:它正在经历第一个 if 语句,然后将每一行设置为绿色,因为第一个语句是“true”。
我只想获取存在的行并将该行设置为绿色背景色。
*getStatus 返回字符串
studentTable.setRowFactory(tableView -> {
final TableRow<Attendance> row = new TableRow<>();
for (Attendance item : studentTable.getItems()) {
if (item.getStatus().equals("present")) {
row.setStyle("-fx-background-color:green;");
}
else if (item.getStatus().equals("absent")){
row.setStyle("-fx-background-color:red;");
}
else {
row.setStyle("-fx-background-color:white;");
}
}
return row;
});
}
带有结果的图片:Image
我将感谢任何解决方案和任何帮助:)
【问题讨论】:
-
请阅读stackoverflow.com/help/mcve并采取相应措施
标签: java uitableview javafx row