GWT:如何获取cellTable复选框的值

时间:2012-09-18 11:54:52

标签: gwt

enter image description here

我遇到这种情况,我想删除此单元格中的对象,其复选框是“检查”此“删除”按钮的clik,

当我点击delte按钮时,知道如何获取在此cellTable中选中复选框的对象..

谢谢

3 个答案:

答案 0 :(得分:1)

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

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

此处 selectedObjects 的类型为T,您应该指定为CellTable<T> selectedObjects 将是仅与已检查行关联的对象。

答案 1 :(得分: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);
        }
      };

答案 2 :(得分:0)

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

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();