我有一个 CellTable,它与 SingleSelectionModel 一起使用以进行单选并将一些信息显示到详细信息面板中。此外,我还在这个 CellTable 中添加了 CheckBoxCell 列,它与另一个 MultipleSelectionModel 一起使用以进行批量删除操作。
当我尝试单击 CheckBoxCell 列中的复选框时,GWT 选择行并在第二次单击复选框后更改复选框状态。所以我们应该点击两次,但我需要点击一次(更改复选框状态)。
我尝试了不同的方法来修复它:
- 将 dependsOnSelection 和 handlesSelection 参数更改为 CheckboxCell
- 更改 CellTable 中的 SelectionEventManager(DefaultSelectionEventManager.createCheckboxManager()、DefaultSelectionEventManager.createCustomManager)
但它不起作用。
我在 Internet 上发现了类似的问题,但它们都适用于一个 MultipleSelectionModel。这与我想要的不一样,因为有详细信息面板(所以我只能进行单选)。
谁能帮我弄清楚如何解决它?
更新: 我刚刚删除了 SingleSelectionModel 并重新设计了 UI 以使用 MultipleSelectionModel。这是 GWT hell ......
最佳答案
尝试切换您的选择模型:使用 MultiSelectionModel
作为 CellTable
的选择模型,以便复选框按预期工作(同时使用 dependsOnSelection
和 handlesSelection
设置为 true
),对于主从功能,使用 CellPreviewEvent.Handler
(或 DefaultSelectionEventManager #createCustomManager
),以及RowStyles
和getRowElement
+addStyleName
/removeStyleName
用于渲染( RowStyles
当 CellTable
呈现行时,然后 getRowElement
动态更新样式)。
关于java - GWT CellTable 选择并单击 CheckBoxCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11063273/