Hi, ich hab ein recht einfaches Problem, wofür ich jedoch den Grund leider nicht rausfinde.
Ich hab ne einfache TableView und binde mein Model an diese TableView. Die Daten werden auch alle wunderbar dargestellt und wenn ich in einem Objekt etwas ändere, wird dies auch in der TableView übernommen.
Mein Problem jetzt ist, dass der Weg rückwärts nicht funktioniert... Ich hab mir eine Editierbare Zelle geschrieben und wenn ich etwas darin ändere, wird dies nicht im Modell übernommen. Hat jemand ne Ahnung, was ich tun muss, damit es in diese Richtung funktioniert?
Binden tu ich meine Modelle mit folgender Methode an eine TableView.
Die Felder innerhalb meines Modells sind alle ausnahmslos SimpleStringProperties.
Ich hab ne einfache TableView und binde mein Model an diese TableView. Die Daten werden auch alle wunderbar dargestellt und wenn ich in einem Objekt etwas ändere, wird dies auch in der TableView übernommen.
Mein Problem jetzt ist, dass der Weg rückwärts nicht funktioniert... Ich hab mir eine Editierbare Zelle geschrieben und wenn ich etwas darin ändere, wird dies nicht im Modell übernommen. Hat jemand ne Ahnung, was ich tun muss, damit es in diese Richtung funktioniert?
Binden tu ich meine Modelle mit folgender Methode an eine TableView.
Java:
public static void bindModelToTable(final TableView tableView, final Class model) {
Field[] attributes = model.getDeclaredFields();
for (final Field attribute: attributes) {
for (Object column: tableView.getColumns()) {
final TableColumn tc = (TableColumn) column;
if (tc.getText().toLowerCase().equals(attribute.getName().toLowerCase()) ||
tc.getText().replaceAll("\\W","").toLowerCase().equals(
attribute.getName().replaceAll("[\\W_]", "").toLowerCase())) {
tc.setCellValueFactory(
new PropertyValueFactory<Object, SimpleStringProperty>(attribute.getName()));
break;
}
}
}
}
Die Felder innerhalb meines Modells sind alle ausnahmslos SimpleStringProperties.