我想将ComboBox
插入单元格(TableView
)。
我从Mysql中获取数据。
您可以在图片中看到数据库架构:
如何将数据放入ComboBox
并将ComboBox
插入TableView
?
我已成功获得公司名称,但我未能创建并将名称放入ComboBox
中的TableView
。
这是java代码:
public class Controller {
private ViewCompany viewCompany;
@FXML
private TableView<ViewCompany> table;
@FXML
private TableColumn<ViewCompany, String> companyColumn;
@FXML
private TableColumn<ViewCompany, ObservableList<BankAccount>> accountColumn;
/**
* This is called by the main application to give a reference back to itself.
*
* @param mainApp
*/
public void setMainApp() {
viewCompany = ViewCompany.getInstance();
//ViewCompany.obt() => Get data
table.setItems(viewCompany.obt());
}
@FXML
private void initialize() {
companyColumn.setCellValueFactory(cellData -> cellData.getValue().getCompany().getName());
//How do I initialize a ComboBox with multiple bank accounts?
//How do I insert the ComboBox into a TableView?
}
}
答案 0 :(得分:0)
您还必须设置CellFactory
:(示范)
ObservableList<BankAccount> bankValues = FXCollections.emptyList();
accountColumn.setCellFactory(ComboBoxTableCell.forTableColumn(
new DefaultStringConverter(), bankValues));
此外,我认为您需要从列中删除列表:
private TableColumn<ViewCompany, BankAccount> accountColumn;