Hallo Community,
ich habe eine SQLite DB mit 5 Columns und 3 Rows Testdaten. Ich versuche, diese bestehende Daten in der DB in einer TableView darzustellen.
Folgenden Code habe ich getestet.
Wenn ich dies laufen lasse, erhalte ich in der TableView die korrekte Darstellung der Felderbeschreibung / Überschrift. Es wird mir im Inhalt jedoch für alle 5 Columns der Wert der 2. Column angezeigt. Siehe Screeshot.
In der IntelliJ IDE sehe ich im Ausgabefenster die korrekten Daten für jede Row.
Was habe ich falsch gemacht?
ich habe eine SQLite DB mit 5 Columns und 3 Rows Testdaten. Ich versuche, diese bestehende Daten in der DB in einer TableView darzustellen.
Folgenden Code habe ich getestet.
Java:
data = FXCollections.observableArrayList();
try {
//c = SqliteConnect.SQLiteConnection();
Connection connection = DatabaseConnection.getConnection();
String SQL = "SELECT * from spiritlog";
ResultSet rs = connection.createStatement().executeQuery(SQL);
for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) {
final int j = 1;
TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i + 1));
col.setCellValueFactory(new Callback<CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
tableView.getColumns().addAll(col);
System.out.println("Column [" + i + "]");
}
while (rs.next()) {
ObservableList<String> row = FXCollections.observableArrayList();
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
row.add(rs.getString(i));
}
System.out.println("Row [1] added " + row);
data.add(row);
}
tableView.setItems(data);
} catch (Exception e) {
e.printStackTrace();
System.out.println("Error on Building data");
}
Wenn ich dies laufen lasse, erhalte ich in der TableView die korrekte Darstellung der Felderbeschreibung / Überschrift. Es wird mir im Inhalt jedoch für alle 5 Columns der Wert der 2. Column angezeigt. Siehe Screeshot.

In der IntelliJ IDE sehe ich im Ausgabefenster die korrekten Daten für jede Row.
Code:
Row [1] added [testdate1, testtime1, testvallue1, testtag1, testcomment1]
Row [1] added [testdate2, testtime2, testvalue2, testtag2, testcomment2]
Row [1] added [testdate3, testtime3, testvalue3, testtag4, testcomment4]
Was habe ich falsch gemacht?