Я работаю над проектом для университета.Я только что изучил Java и JavaFX.
У меня проблема, может быть, кто-то может мне помочь.
С этим небольшим программным обеспечением вы можете планировать задачи на неделю.В табличном представлении у вас есть столбцы с понедельника по пятницу.
У меня есть база данных, где я могу получить объекты «Auftragsverteilung» (это означает задачи, которые запланированы на определенную дату).Эти объекты имеют серийный номер (= seriennr) и дату (= bearbeitungsdatum).
Чтобы заполнить неделю в виде таблицы, я получаю из базы данных все задачи, запланированные на неделю.Задачи на неделю сохраняются в ObchnableList rechnerWochenansichtTabelle.Вы можете выбрать неделю из выпадающего списка.Вот почему у меня есть слушатель в выпадающем списке.
Теперь я просматриваю ObservableList и проверяю, является ли дата понедельником, четвергом и т. Д. Так что это работает.Но если я напишу col_RW_Montag.setCellValueFactory (new PropertyValueFactory <> ("seriennr")), столбец получит все серийные номера, сохраненные в observableList, но мне нужен конкретный серийный номер с этой конкретной даты.
Как я могуполучить конкретный серийный номер из даты и заполнить его столбцом?
Я надеюсь, вы понимаете все, потому что проект на немецком языке.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация илибольше кода.
Спасибо.
Класс "Auftragsverteilung" (модель)
public class Auftragsverteilung {
private Date bearbeitungsdatum;
private Integer seriennr;
public Auftragsverteilung(Integer seriennr, Date bearbeitungsdatum) {
super();
this.seriennr = seriennr;
this.bearbeitungsdatum = bearbeitungsdatum;
}
public Date getBearbeitungsdatum() {
return bearbeitungsdatum;
}
public void setBearbeitungsdatum(Date bearbeitungsdatum) {
this.bearbeitungsdatum = bearbeitungsdatum;
}
public Integer getSeriennr() {
return seriennr;
}
public void setSeriennr(Integer seriennr) {
this.seriennr = seriennr;
}
}
Класс "AuftragsansichtController" (контроллер)
public class RechneransichtController implements Initializable {
@FXML
private ComboBox<String> comboBox_RW_Wochenansicht;
@FXML
private TableView<Auftragsverteilung> tableRechnerWoche;
@FXML
private TableColumn<Auftragsverteilung, Integer> col_RW_Montag;
@FXML
private TableColumn<Auftragsverteilung, Integer> col_RW_Dienstag;
@FXML
private TableColumn<Auftragsverteilung, Integer> col_RW_Mittwoch;
@FXML
private TableColumn<Auftragsverteilung, Integer> col_RW_Donnerstag;
@FXML
private TableColumn<Auftragsverteilung, Integer> col_RW_Freitag;
private Datenbank db = new Datenbank();
ObservableList<Auftragsverteilung> rechnerWochenansichtTabelle = FXCollections.observableArrayList();
public void wochenansichtFuellen() {
// ComboBox Listener
comboBox_RW_Wochenansicht.getSelectionModel().selectedItemProperty().addListener((options) -> {
tableRechnerWoche.getItems().clear();
// the week selected from the comboBox
String wochenAuswahl = comboBox_RW_Wochenansicht.getSelectionModel().selectedItemProperty().getValue(); // DD.MM.YYYY-DD.MM.YYYY
// String split, first date = monday, last date = friday
String startdatum = wochenAuswahl.substring(0, 10);
String enddatum = wochenAuswahl.substring(11, 21);
// db = Database object with method getTasksFromWeek
try {
rechnerWochenansichtTabelle.addAll(db.getRechnerAusAuftragsverteilungWoche(startdatum, enddatum));
} catch (SQLException e) {
e.printStackTrace();
}
for (int i = 0; i < rechnerWochenansichtTabelle.size(); i++) {
Date d = rechnerWochenansichtTabelle.get(i).getBearbeitungsdatum();
Integer seriennr = rechnerWochenansichtTabelle.get(i).getSeriennr(); // SERIENNUMER DIE REIN MUSS
switch(simpleDateformat.format(d)) {
case "Montag":
col_RW_Montag.setCellValueFactory(new PropertyValueFactory<>("seriennr"));
break;
case "Dienstag":
col_RW_Dienstag.setCellValueFactory(new PropertyValueFactory<>("seriennr"));
break;
case "Mittwoch":
col_RW_Mittwoch.setCellValueFactory(new PropertyValueFactory<>("seriennr"));
break;
case "Donnerstag":
col_RW_Donnerstag.setCellValueFactory(new PropertyValueFactory<>("seriennr"));
break;
case "Freitag":
col_RW_Freitag.setCellValueFactory(new PropertyValueFactory<>("seriennr"));
break;
default:
break;
}
}
tableRechnerWoche.setItems(rechnerWochenansichtTabelle);
});
}