我有一个javafx TableView
,我希望列内有自定义控件。假设我想要TextField
中的column1
和ComboBox
中的column2
以及DatePicker
中的column3
。
我知道我应该创建一个扩展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
和它们我应该在"Off"
列中选择除loadingStatusTableColumn
以外的任何值时启用。
如何使用上面的代码实现这一点(不创建TableCell子类)。
我可以通过FXML实现以下线下效果吗?
loadingStatusTableColumn.setCellFactory(ComboBoxTableCell.forTableColumn("Off", "Load All", "Load By Time"));
<cellFactory><MyCellFactory /></cellValueFactory>
我知道以上的作品,因为它是我的自定义课程,但我可以在下面进行吗?
<cellFactory><ComboBoxTableCell /></cellValueFactory>
提前致谢!