【问题标题】:GWT CellTable selection and single click on CheckBoxCellGWT CellTable 选择并单击 CheckBoxCell
【发布时间】:2012-06-16 12:07:36
【问题描述】:

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

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

我尝试了不同的方法来修复它:

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

但它不起作用。

我在 Internet 中发现了类似的问题,但它们都适用于一个 MultipleSelectionModel。这和我想要的不一样,因为有详细信息面板(所以我只能做一个选择)。

谁能帮我弄清楚如何解决它?

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

【问题讨论】:

    标签: java gwt gwt-2.2-celltable gwt-2.2


    【解决方案1】:

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

    【讨论】:

    • 实际上我已经尝试过这种方式,但它没有给我所需的行为。不过谢谢你的回答,我会在星期一再试一次。
    • 谢谢,这对我使用 CellPreviewEvent 并测试事件类型非常有效:if (event.getColumn() == 1 && event.getNativeEvent().getType().equals("click")) {}
    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多