选择GWT CellTable并单击CheckBoxCell

Vla*_*uer 5 java gwt gwt-2.2 gwt-2.2-celltable

我有一个CellTable,可以使用SingleSelectionModel进行单选,并在详细信息面板中显示一些信息.此外,我还将CheckBoxCell列添加到此CellTable中,该列与另一个MultipleSelectionModel一起进行批量删除操作.

当我尝试单击CheckBoxCell列中的复选框时,GWT选择行,然后在第二次单击复选框后更改复选框状态.所以我们应该点击两下,但我需要点击一下(更改复选框状态).

我尝试了不同的方法来解决它:

  • 将dependsOnSelection和handlesSelection参数更改为CheckboxCell
  • 在CellTable中更改SelectionEventManager(DefaultSelectionEventManager.createCheckboxManager(),DefaultSelectionEventManager.createCustomManager)

但它不起作用.

我在Internet上发现了类似的问题,但它们都使用一个MultipleSelectionModel.它与我想要的不一样,因为有详细的面板(所以我只做一次选择).

任何人都可以帮我弄清楚如何解决它?

UPD: 我刚刚删除了SingleSelectionModel并重新设计了UI以使用MultipleSelectionModel.这是GWT-hell ..

Tho*_*yer 3

尝试切换您的选择模型:使用 作为MultiSelectionModelCellTable选择模型,以便复选框按预期工作(将dependsOnSelectionhandlesSelection设置为),对于true主从功能,使用 a CellPreviewEvent.Handler(或DefaultSelectionEventManager#createCustomManager),以及RowStylesgetRowElement+ addStyleName/removeStyleName渲染(RowStylesCellTable渲染行时,然后getRowElement动态更新样式)。

  • 谢谢,这对我使用 CellPreviewEvent 并测试事件类型非常有效:`if (event.getColumn() == 1 && event.getNativeEvent().getType().equals("click")) {}` (2认同)