PropertyValueFactory的显示问题(与数据库有关)

时间:2019-01-13 20:32:29

标签: java mysql javafx

所以在这里,我正在制作一个诊所应用程序,该应用程序在一个地方显示医生的可用时间。

我想说的是我浏览了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天)

@编辑 因为该帖子被标记为与我之前查找过的帖子重复,所以我想说这里的所有内容都统一使用相同的小写名称,但仍然无法使用。 :(

Image of column

0 个答案:

没有答案