我有一个javafx TableView
,我希望列内有自定义控件 . 假设 column1
中的 TextField
和 column2
中的 ComboBox
以及 column3
中的 DatePicker
.
我知道我应该创建一个扩展 TableCell
并覆盖 updateItem()
方法的类....
但我特意为此目的阅读了单元包中的 ComboBoxTableCell
, TextFieldTableCell
等默认类,建议使用它们 . 所以我能用以下代码实现这一点 .
loadingStatusTableColumn.setCellFactory(ComboBoxTableCell.forTableColumn("Off", "Load All", "Load By Time"));
startTimeTableColumn.setCellFactory(TextFieldTableCell.forTableColumn(null));
stopTimeTableColumn.setCellFactory(TextFieldTableCell.forTableColumn(null));
现在我的要求是当我从 loadingStatusTableColumn
组合框中选择一些值时(说 "Off"
),我想禁用接下来的两列 startTimeTableColumn
, stopTimeTableColumn
,当我在 loadingStatusTableColumn
列中选择除 "Off"
之外的任何值时,它们应该被启用 .
-
如何使用上面的代码实现这一点(不创建TableCell子类) .
-
我能通过FXML实现以下线下效果吗?
loadingStatusTableColumn.setCellFactory(ComboBoxTableCell.forTableColumn("Off", "Load All", "Load By Time"));
<cellFactory><MyCellFactory /></cellValueFactory>
我知道上面的作品,因为它是我的自定义课程,但我可以在下面做吗?
<cellFactory><ComboBoxTableCell /></cellValueFactory>
提前致谢!