0

在此处输入图像描述

我有这种情况,我想删除此单元格表中的对象,其复选框为选中此“删除”按钮的单击,

当我单击删除按钮时,知道如何获取在此 cellTable 中选中复选框的那些对象。

谢谢

4

3 回答 3

1

@junaidp,由于您没有提供任何代码,我假设您已使用 CheckBoxCell 生成复选框列并将 MultiSelectionModel 分配给您的 cellTable。您可以使用以下代码:

Set<T> selectedObjects = ((MultiSelectionModel<T>)(cellTable.getSelectionModel())).getSelectedSet(); 

这里selectedObjects将是 T 类型,您应该指定为CellTable<T>selectedObjects将是对象,仅与选中的行相关联。

于 2012-09-18T12:30:01.917 回答
1

您可以通过以下方式检查给定单元格的选定状态:

Column<CellInfo, Boolean> checkColumn =
      new Column<MemberInfo, Boolean>(new CheckboxCell(true, false)) {
        public Boolean getValue(CellInfo object) {
          // Get the value from the selection model.
          return selectionModel.isSelected(object);
        }
      };
于 2012-09-18T12:31:43.993 回答
0

如果您要求删除单行,那么您可以在 celltable 中使用 SingleSelectionModel 否则 MulitiSelectionModel。我已经用单选模型编写了一些代码,它可能会给出一些想法。IE

selectionModel = new SingleSelectionModel<T>();
cellTable.setSelectionModel(selectionModel) //Set into your cellTable:

当您选择一个复选框时,行将自动选择,对象将设置为选择模型。

  CheckboxCell checkboxCell=new CheckboxCell(true, false); 
            Column<T, Boolean> boolColumn=new Column<T, Boolean>(
                        checkboxCell) {
            @Override
            public Boolean getValue(T object) {                            
             return selectionModel.isSelected(object); 
        }
        };

单击删除按钮时,使用选定的对象,它将为您提供一个删除对象。 selectionModel.getSelectedObject();

于 2012-09-18T12:51:33.933 回答