javajavafxjavafx-tableview

How to select multiple values by using ComboBoxTableCell or ChoiceBoxTableCell in Table View javafx


I have a tableview where user can double click on a column row & Combo Box drop down will appear with list of items. Here problem is user can only select one value at a time instead I want to allow user to select multiple values.

Existing Implementation using ComboBoxTableCell

List<TableColumn<DITComparatorFileColumnConfigDO, ?>> columnList = new ArrayList<TableColumn<DITComparatorFileColumnConfigDO, ?>>();
TableColumn<DITComparatorFileColumnConfigDO, String> column = null;

column.setCellValueFactory(new PropertyValueFactory<DITComparatorFileColumnConfigDO, String>("primaryColumn"));
column.setCellFactory(ComboBoxTableCell.forTableColumn(FXCollections.observableArrayList(primaryFileHeaders)));
columnList.add(column);

[enter image description here]

Existing Implementation using ChoiceBoxTableCell

column.setCellValueFactory(new PropertyValueFactory<DITComparatorFileColumnConfigDO, String>("secondaryColumn"));    
column.setCellFactory(ChoiceBoxTableCell.forTableColumn(FXCollections.observableArrayList(secondaryFileHeaders)));
columnList.add(column);

enter image description here


Solution

  • I have implemented TurekBot CheckComboBoxTableCell which uses ComboBoxTableCell and CellUtils implementations by replacing checkBox to contolFX checkComboBox in it's original file.

    Link to solution

    Screenshot from my application