我想创建一个数据类型为布尔的可编辑单元格。
我不想对布尔数据类型
使用selectioncell我的testBooleanColumn列的单元格包含值为true,false的字符串..........
当我点击testBooleanColumn中存在的单元格时,该单元格应该是可编辑的,在可编辑的单元格中,我想显示选择单元格的值(true,false)。当用户将selectioncell中的值更改为true或false时,该值将设置为testBooleanColumn中的可编辑单元格
如何做到这一点?有什么提示吗?或者这个用例的示例代码?
有三种方法:
-
使用CompositeCell与ClickTextCell和SelectionCell并覆盖CompositeCell的渲染方法,只渲染ClickTextCell。
当点击ClickTextCell时,它将自动调用ValueUpdater。
在ValueUpdater的更新函数中,您必须在ClickTextCell中设置一些布尔值。然后你必须检查你的CompositeCell这个布尔值的呈现方法,如果它被设置,那么呈现SelectionCell而不是ClickTextCell。 -
创建一个自定义单元格,例如扩展AbstractEditableCell(参见本教程),并自己实现该功能。您可以查看SelectionCell和EditTextCell的代码并复制其中的大部分。基本上你必须有某种标志当单元格获得焦点时它会被设置。在render方法中,你必须要么显示下拉列表,要么只显示文本。
-
扩展EditTextCell或SelectionCell并实现缺失的功能。这样做的好处是,你可以重用一些渲染方法,而不必自己编写完整的渲染代码。