Witam,
napisałem "prostą" metodę wypełniającą TableView danymi z bazy danych, ale jak sprawić aby metoda była uniwersalna?
private void wyswietlTabele()
{
TableView<Person> table = new TableView<>();
layoutTabeli = new VBox();
wyslanieZapytaniaDoMySQL("DESCRIBE " + nazwaWybranejTabeli);
naglowkiTabli = wyswietlBazy(rs, 1);
for (String a : naglowkiTabli)
{
TableColumn<Person, String> kolumna = new TableColumn<Person, String>(a);
kolumna.setCellValueFactory(new PropertyValueFactory<>(a));
table.getColumns().add(kolumna);
}
Label test = new Label("aaa");
ArrayList<String> pobraneDane = new ArrayList<>();
wyslanieZapytaniaDoMySQL("SELECT DISTINCT * FROM " + nazwaWybranejTabeli);
pobraneDane = wyswietlBazy(rs, naglowkiTabli.size());
final ObservableList<Person> data = FXCollections.observableArrayList();
int licznik = 0;
for (int i = 0; i < pobraneDane.size() / naglowkiTabli.size(); i++)
{
data.add(new Person(pobraneDane.get(licznik++), pobraneDane.get(licznik++), pobraneDane.get(licznik++)));
licznik++;
licznik++;
}
table.setEditable(true);
table.setItems(data);
layoutTabeli.getChildren().addAll(test, table);
sceneTabeli = new Scene(layoutTabeli);
window.setScene(sceneTabeli);
}
Metoda korzysta z prywatnej klasy w której są 3 zmienne: imie, nazwisko oraz email - znam budowę bazy. a Co jeśli nie będę wiedział jak zbudowana jest dana tabela?