我试图使用表视图来呈现/编辑"key = value"对.因此该表应该有两列:"key"和"value".Key只是一个普通的字符串,值可以是任何值.我的问题是值的数据类型可能因行而异.基本上,我想使用复选框作为布尔值和列表选项.我找到了一种方法,通过设置单元格工厂,使用复选框或选项呈现整个表列:
final TableColumn<FieldValue, Field> valueColumn = new TableColumn<>("Value");
valueColumn.setCellFactory(new Callback<TableColumn<FieldValue, Field>, TableCell<FieldValue, Field>>() {
@Override
public TableCell<FieldValue, Field> call(final TableColumn<FieldValue, Field> column) {
// if (value instanceof Boolean)
return new CheckBoxTableCell<>();
}
});
Run Code Online (Sandbox Code Playgroud)
但我需要的是能够根据将要在单元格内呈现的项目类型插入条件.换句话说,某些单元工厂位于单元级别而不是列级别.这会在渲染时评估我的状况.我还没有找到任何解决方案.也许有人有一些适当的技术来实现这种渲染?也许有些第三方数据网格?