salut,
j'aimerais rendre une colonne d'un tableview editable. voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
       userTable.setEditable(true);
        ...
        birthdayCol.setCellValueFactory(new PropertyValueFactory<User, LocalDate>("birthday"));
        birthdayCol.setCellFactory(TextFieldTableCell.forTableColumn(new  LocalDateStringConverter()));  
        birthdayCol.setOnEditCommit(e ->  birthdayCo_Edit(e) );
pour formater les valeurs de cette colonne, j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 birthdayCol.setCellFactory(p -> {
            return new TableCell<User, LocalDate>() {
 
 
 
                @Override
                protected void updateItem(LocalDate item, boolean empty) {
                    super.updateItem(item, empty);
                    if (item == null || empty) {
                        setText(null);
 
                    } else {
                        final DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy");
                        setText(item.format(format));
                        if(item.isEqual(LocalDate.of(2015, 8, 13))){
                            TableRow currentRow = getTableRow();
                            currentRow.setStyle("-fx-background-color: red;");
                            //setStyle();
                        }
 
                    }
                }
            };
        });
tout se passe bien quand j'utilise un seul appel à la méthode setCellFactory().
Malheureusement quand j'utilise les deux codes, le dernier appelé va masquer le premier. et çà est tout a fait logique. donc comment je puisse formater et editer une colonne d'une tableview en même temps.