【问题标题】:GWT celltable combine two click in oneGWT celltable 合二为一
【发布时间】:2017-07-13 23:55:18
【问题描述】:

我有一个带有复选框的单元格表。我想合并两次点击;当我选择行时,我也会更改复选框的状态。我尝试了以下方法,但它不起作用:

column.setFieldUpdater(new FieldUpdater<Item, CheckBoxDisablingCell.CheckState>() {

  @Override
  public void update(int rowIndex, final Item item, final CheckBoxDisablingCell.CheckState state) {
    if(!state.isDisabled()) {                        

    item.getFonctions().get(index).setSelected(state.isChecked());

    Scheduler.get().scheduleDeferred(new ScheduledCommand() {

       @Override
       public void execute() {
           selectionModel.clear();
           selectionModel.setSelected(gestionHabilitationsItem, true);
           cellTableFonctions.setSelectionModel(selectionModel);
           leftCellTable.setSelectionModel(selectionModel);
         }
      });
    }
  }
});

使用此代码,我有两次点击:一次用于选择行,另一次用于更改复选框的状态。我该如何结合它?感谢任何建议。

【问题讨论】:

  • 澄清一下,当您在问题中写下“两次点击”时,您指的是 toClick 事件吗?
  • 是的两次鼠标点击事件:)
  • 啊,我想我说的是双击?那么当用户双击一行时,你想选择该行并切换一个复选框吗?
  • 我可以通过双击来做到这一点,但是当我选择行时,我必须通过单击事件来做到这一点,chackbox 必须改变状态。
  • 在我写 'toClick' 事件时,在我最初的评论中实际上是指 'onClick' 。这个SO question 有帮助吗?

标签: java user-interface checkbox gwt celltable


【解决方案1】:

我想我得到了你需要的东西:

  • SingleSelectionModel
  • CheckboxCellhandlesSelection 设置为 false(默认状态)
  • Column 使用 CheckboxCell 并从 SelectionModel 获取值

例子:

CheckboxCell checkboxCell = new CheckboxCell(); // handlesSelection = false
table.addColumn(new Column<TableType, Boolean>(checkboxCell) {
    @Override
    public Boolean getValue(TableType object) {
        return selectionModel.isSelected(object);
    }
});

每次选择一行时,都会自动选中复选框。然后取消选择先前选择的行(并且取消选中复选框),因为它是一个单一的选择模型。

【讨论】:

  • 我试过这个,但是当我第一次点击它时它不起作用但是当我点击另一行之后我必须点击两次
  • @SlimZ,为我工作。您在浏览器控制台中收到任何错误吗?您可以发布最小的工作示例以便我们对其进行调试吗?
【解决方案2】:

我使用“SingleSelectionModel”和复选框单元来完成此操作

  new CheckBoxCell(true, true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多