所以我已经看到了所有已经问过的问题,并尝试了它们,但这是行不通的。
这是我的代码:
public class SelectClientInterface implements Initializable {
//Views
@FXML
TableView<String> selectClientTable;
@FXML
TableColumn<String, 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);
for (Clients client : clientsArray) {
CodeC.setCellValueFactory(c -> new SimpleStringProperty(String.valueOf(client.getCodeC())));
NomC.setCellValueFactory(c -> new SimpleStringProperty(client.getNomC()));
RegCommerceC.setCellValueFactory(c -> new SimpleStringProperty(client.getRegCom()));
IdFiscalC.setCellValueFactory(c -> new SimpleStringProperty(client.getIdFiscal()));
NArtFisC.setCellValueFactory(c -> new SimpleStringProperty(client.getnArticleFiscal()));
System.out.println(String.valueOf(client.getCodeC()) + client.getNomC() + client.getRegCom() + client.getIdFiscal() + client.getnArticleFiscal());
}
}
}
答案 0 :(得分:0)
您为TableColumn
和TableView
使用了错误的类型参数。由于TableView
的项目类型为Client
(至少似乎是故意的),因此应使用TableView<Client>
和TableColumn<Client, String>
。
此外,您没有设置TableView
项。
另外,您使用的是TableColumn.cellValueFactory
错误。 cellValueFactory
用于TableView
在屏幕上显示的每一行。使用最后一个Client
的值会导致最后一个项目的值用于每个非空行。相反,您应该使用传递给TableColumn.CellDataFeatures
的{{1}}提供的值。
Callback