如何将GridPane(包含3个按钮)添加到JAvaFX TableView的单元格

时间:2016-12-10 06:37:20

标签: javafx

我有一个名为“customers”的TableView,其TableColumns与客户详细信息相关。 在同一个TableView中,我想再添加一个TableColum作为“Action”,其中User可以为特定Customer添加,查看和删除产品详细信息。

通过谷歌搜索来尝试多种方法,但直到现在还没有得到任何解决方案。

1 个答案:

答案 0 :(得分:0)

只需添加TableColumn个自定义cellFactory即可。顺便说一句:您可能希望Button使用单个列/行,在这种情况下,您只需使用HBoxVBox,但您当然可以替换TableColumn<Product, Void> buttonColumn = new TableColumn<>("Action"); buttonColumn.setCellFactory(col -> new TableCell<Product, Void>() { private final VBox container; { Button add = new Button("Add"); Button view = new Button("View"); Button delete = new Button("Delete"); delete.setOnAction(evt -> { // delete this row item from TableView items getTableView().getItems().remove(getIndex()); }); view.setOnAction(evt -> { // call some method with the row item as parameter viewProduct(getTableRow().getItem()); }); add.setOnAction(...); container = new VBox(5, add, view, delete); } @Override public void updateItem(Void item, boolean empty) { super.updateItem(item, empty); setGraphic(empty ? null : container); } }); tableView.getColumns().add(buttonColumn); Create function Junk_to_date(junk in VARCHAR2) return date as Begin Return to_date(junk,'yyyymmdd'); Exception When others then Return null ; End; 中的布局。以下代码:

Select Junk_to_date(PLE_DATE)
From...