2016-06-06 23 views
1

如何添加到javafx表視圖的列中以進行內聯編輯的日期選擇器?javafx表視圖添加日期選擇器

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

回答

1

您需要實現您的自定義TableCell,你需要@OverrideupdateItem方法。該方法應該將圖形設置爲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; 
     } 
    };