Вы используете неверные параметры типа для TableColumn
и TableView
. Поскольку элементы TableView
относятся к типу Client
(по крайней мере, это кажется намерением), вы должны использовать TableView<Client>
и TableColumn<Client, String>
.
Кроме того, вы не устанавливаете TableView
пунктов.
Также вы используете TableColumn.cellValueFactory
неправильно. cellValueFactory
используется для каждой строки, которая TableView
отображается на экране. Использование значений последнего Client
приводит к тому, что значения из последнего элемента используются для каждой непустой строки. Вместо этого вы должны использовать значения, предоставленные TableColumn.CellDataFeatures
, переданные в Callback
.
@FXML
TableView<Client> selectClientTable;
@FXML
TableColumn<Client, String> CodeC, NomC, RegCommerceC, IdFiscalC, NArtFisC;
@FXML
Button selectClientButton, returnSelectClientButton;
ObservableList<Clients> mylist = FXCollections.observableArrayList();
@Override
public void initialize(URL location, ResourceBundle resources) {
populateTable();
}
void populateTable() {
mylist.addAll(clientsArray);
CodeC.setCellValueFactory(c -> new SimpleStringProperty(String.valueOf(c.getValue().getCodeC())));
NomC.setCellValueFactory(c -> new SimpleStringProperty(c.getValue().getNomC()));
RegCommerceC.setCellValueFactory(c -> new SimpleStringProperty(c.getValue().getRegCom()));
IdFiscalC.setCellValueFactory(c -> new SimpleStringProperty(c.getValue().getIdFiscal()));
NArtFisC.setCellValueFactory(c -> new SimpleStringProperty(c.getValue().getnArticleFiscal()));
for (Clients client : clientsArray) {
System.out.println(String.valueOf(client.getCodeC()) + client.getNomC() + client.getRegCom() + client.getIdFiscal() + client.getnArticleFiscal());
}
selectClientTable.setItems(mylist);
}