2016-06-06 3 views
1

Как добавить в столбец таблицы javafx представление datepicker для встроенного редактирования?javafx Table view add datepicker

<TableView fx:id="timelineTable" VBox.vgrow="ALWAYS"> 
<columns> 
    <TableColumn fx:id="dateColumn" prefWidth="85.0" text="%timeline.date" /> 
</columns> 
</TableView> 

ответ

1

Вы должны реализовать свой обычай TableCell где вам нужно @Override метод updateItem. Этот метод должен установить графику как DatePicker. В качестве альтернативы вы будете использовать редактируемый TableCell, где вы устанавливаете DatePicker как графическое изображение, когда ячейка фактически редактируется.

0

Вот кусок кода, который может быть полезным для реализации вашей идеи:

Что-то полнее here.

Callback<TableColumn<String, String>, TableCell<String, String>> cellFactory = new Callback<TableColumn<String, String>, TableCell<String, String>>() { 
     @Override 
     public TableCell call(final TableColumn<String, String> param) { 

      final TableCell<String, String> cell = new TableCell<String, String>() { 

       final DatePicker datePicker = new DatePicker(); 

       @Override 
       public void updateItem(String item, boolean empty) { 
        super.updateItem(item, empty); 
        if (empty) { 
         setGraphic(null); 
         setText(null); 
        } else { 

         setGraphic(datePicker); 
         setText(null); 
        } 
       } 
      }; 
      return cell; 
     } 
    };