所以在这里,我正在制作一个诊所应用程序,该应用程序在一个地方显示医生的可用时间。
我想说的是我浏览了stackoverflow以便找到答案...
...我做到了!我修复了我在项目中拥有的所有TableView,它们均按预期工作。
但是,一个TableView表仍然是对用户的卑鄙行为,并且不显示其中的数据(即使值在单元格中)。我确实更正了所有字段和名称,以使其正常运行,但这确实有所帮助,但没有帮助。这是代码:
开始时:
@FXML
private TableView<DoctorInfo> tableHours;
@FXML
private TableColumn<DoctorInfo, String> day;
// This shouldn't really matter but this one below should have time but I set it to string for testing purposes.
@FXML
private TableColumn<DoctorInfo, String> beginning;
@FXML
private TableColumn<DoctorInfo, Time> end;
稍后在代码中:
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM `office hours` WHERE doctor = " + PWZ);
pstmt.execute();
ResultSet rs = pstmt.executeQuery();
ObservableList<DoctorInfo> data = FXCollections.observableArrayList();
while (rs.next()) {
String dayS = rs.getString("day");
String beginningS = rs.getString("beginning");
String endS = rs.getString("end");
data.add(new DoctorInfo(dayS, beginningS, endS));
System.out.println(dayS + " " + beginningS + " " + endS + "\t");
}
day.setCellValueFactory(new PropertyValueFactory<>("day"));
beginning.setCellValueFactory(new PropertyValueFactory<>("beginning"));
end.setCellValueFactory(new PropertyValueFactory<>("end"));
// Clears & Sets Data
tableHours.setItems(null);
tableHours.setItems(data);
在数据库中(办公时间表):
doctor (char7)
day (enum)
beginning (time)
end (time)
表中填充了值,但只有“天”本身显示了文本。 “开始”和“结束”为空白。
该列的名称与fx:id相同,但以大写字母开头(例如:列Day与fx:id天)
@编辑 因为该帖子被标记为与我之前查找过的帖子重复,所以我想说这里的所有内容都统一使用相同的小写名称,但仍然无法使用。 :(