我遇到这种情况,我想删除此单元格中的对象,其复选框是“检查”此“删除”按钮的clik,
当我点击delte按钮时,知道如何获取在此cellTable中选中复选框的对象..
谢谢
答案 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();