Cześć!
Staram się, ale nie potrafię zrozumieć jak to nie działa. Mam TableView i edytuje komórkę tworząc combobox. Edycja odbywa się tylko dla tych komórek gdzie User nie jest Adminem lub SuperAdminem. Wszystko działa, ale żeby pojawił się combobox najpierw muszę zaznaczyć komórkę w której jest admin. Później działa już wszystko na wszystkich innych komórkach bez przeszkód. Kod:
userRule.setEditable(true);
userRule.setOnEditStart(e ->{
if(e.getOldValue().equals(RuleEnum.Admin.toString()) || e.getOldValue().equals(RuleEnum.SuperAdmin.toString())) {
userRule.setCellFactory(ComboBoxTableCell.forTableColumn(FXCollections
.observableArrayList(RuleEnum.Lider.toString(), RuleEnum.Konsultant.toString())));
userRule.setOnEditCommit(event -> {
AdminSQL sql = new AdminSQL();
try {
sql.changeRule(userTable.getSelectionModel().getSelectedItem().getUserLp(), event.getNewValue().toString());
} catch (SQLException ex) {System.out.println(ex.getMessage());ex.printStackTrace();}
});
}
});