Я хочу заполнить таблицу данными.
Следующий код является двумя битами из контроллера, потому что я, к сожалению, не знаю, какая часть важна.
Каждая функция должна взять список наблюдаемых, который был объявлен в основной фазе, и очистить его.
Затем добавьте новые записи в соответствии с текущим состоянием массивов и, в конце, используйте populate (), чтобы заполнить таблицу им.
Но иногда это не получается. Данные добавляются в массивы, но не отображаются в таблице.
Кто-нибудь знает, что может быть причиной этого?
public void showAll() {
//Clear existing data
Main.data = FXCollections.observableArrayList();
//add new data on base of the arrays
for (int i = 0; i < Main.array_anz.length; i++) {
if (Main.array_pla[i] != 0) {
Main.data.add(new Article(Main.array_bez[i], Main.array_pla[i], Main.array_gew[i], Main.array_pre[i], Main.array_anz[i], Main.array_kat[i]));
} else {
i++;
}
}
//Show the data in the table
populate();
}
private void populate() {
ArtikelbezeichnungTable.setCellValueFactory(new
PropertyValueFactory<Article, String>("artikelbezeichnung"));
LagernummerTable.setCellValueFactory(new PropertyValueFactory<Article,
Integer>("lagernummer"));
GewichtTable.setCellValueFactory(new PropertyValueFactory<Article,
Double>("gewicht"));
AnzahlTable.setCellValueFactory(new PropertyValueFactory<Article,
Integer>("anzahl"));
KategorieTable.setCellValueFactory(new PropertyValueFactory<Article,
String>("kategorie"));
StorageTable.setItems(Main.data);
}