Temat: java, tableview pobieranie danych do TextField
Witamstworzyłem tableview dodalem do niej rekordy z bazy i teraz chciałbym po wybraniu jakiegoś rekordu żeby przypisało do texfieldów jego wartośc, np. mam tabelę magazyn i chiałbym żeby z tego tableview pobrało do dwóch textfieldów wartości: do jednego nazwa , a do drugiego cena.
mógłbym mi ktoś w tym pomóc ?
z góry dziękuję :)
@FXML
public void plus1(ActionEvent event) throws SQLException, ClassNotFoundException {
if (tableview.isVisible() == true) {
tableview.setVisible(false);
} else {
tableview.setVisible(true);
String url = "jdbc:sqlite:bazadanychfaktura.db3";
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection(url);
data = FXCollections.observableArrayList();
String SQL = "SELECT * from Magazyn;";
//ResultSet
ResultSet rs = c.createStatement().executeQuery(SQL);
for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) {
final int j = i;
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()) {
//Iterate Row
ObservableList<String> row = FXCollections.observableArrayList();
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
//Iterate Column
row.add(rs.getString(i));
}
System.out.println("Row [1] added " + row);
data.add(row);
}
tableview.setItems(data);
}
}
========================================================================
???????????????????????????????????????????????????????????????????????????????????????????????????????
========================================================================
@FXML
public void tableviewaction(ActionEvent event){
tableview.getSelectionModel().getSelectedItem();
if(tableview.getSelectionModel().getSelectedItem() != null)
{
nazwa1.setText("");
cena1setText("");
}
}