2012-09-18 86 views
0

enter image description hereGWT:如何获得cellTable

我这种情况的复选框的值,我想删除这个celltable其复选框检查的这个CLIK对象“删除”按钮,

任何想法如何获得其复选框在这个cellTable被选中,当我点击delte按钮这些对象..

感谢

回答

0

如果用delete单列你的要求,那么你可以在celltable使用SingleSelectionModel否则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();

1

@junaidp,当你没有提供任何代码,我假设您已使用CheckBoxCell生成checkbo x列并将MultiSelectionModel分配给您的cellTable。您可以使用下面的代码:

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

这里的selectedObjects将是T型的,你应该已经指定为CellTable<T>selectedObjects将是仅与检查行关联的对象。

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