Dynamiczna kolumna JavaFX TableView i wartości danych
Testuję się za pomocą prostej przeglądarki CSV przy użyciu JavaFX i utknąłem przy wypełnianiu danych tabeli. Tworzę kolumny dynamicznie, ale wartości danych są bezużyteczne. Przeszukałem sieć i znalazłem kilka sposobów, ale wszystkie sposoby zawierają listę ObservableList z niestandardową klasą (w tym get / set), która w przeglądarce CSV musi być dynamiczna (CSV może mieć dowolną liczbę kolumn, a to oznacza dowolną liczbę wartości danych).
Przykład:
List<String> columns;
List<List<String>> data;
/* Fills 'columns' and 'data' */
parseCSV("C:/list.csv");
int columnIndex = 0;
TableColumn [] tableColumns = new TableColumn[columns.size()];
for(String columName : columns) {
tableColumns[columnIndex++] = new TableColumn(columName);
}
table1.getColumns().addAll(tableColumns);
for(List<String> dataList : data) {
table1.setItems(dataList); // Requires an ObservableList!
}