我创建了可编辑网格,我在其中添加了所有单元格小部件。现在我想检查一些条件并用另一个单元格小部件替换单元格或列。例如,如果我已经定义了一个EditTextCell列,基于布尔条件,我必须将该列更改为具有selectioncells(组合框)。怎么做到这一点?
答案 0 :(得分:0)
有三种方法可以做到:
将CompositeCell
与EditTextCell
和SelectionCell
一起使用,并覆盖CompositeCell
的呈现方法,以呈现EditTextCell
或SelectionCell
基于您存储在绑定到Cell的DTO
中的布尔标志。
例如,创建一个扩展AbstractEditableCell
的自定义单元格(请参阅此tutorial)并自行实现该功能。您可以查看SelectionCell和EditTextCell的代码并复制其中的大部分代码。在render方法中,您必须显示下拉列表或仅显示基于布尔标志的文本。
扩展EditTextCell
或SelectionCell
并实现缺少的功能。优点是您可以重用一些渲染方法,而不必自己编写完整的渲染代码。