junaidp
junaidp

Reputation: 11221

GWT:how to get the value of a checkbox of a cellTable

enter image description here

I have this situation , i want to delete the objects in this celltable whose checkbox is Check on the clik of this "Delete" Button ,

Any idea how to get those objects whose checkbox is checked in this cellTable, when i click the delte button ..

Thanks

Upvotes: 0

Views: 2566

Answers (3)

bNd
bNd

Reputation: 7640

If your requirement with delete single row, then You can use SingleSelectionModel otherwise MulitiSelectionModel in celltable. I have written some code with single selection model,It may give some idea. i.e.

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

When you select a checkbox, then row will auto selected and object will set in to selection model.

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

On delete button click,use selected object,It will provide you a object for delete. selectionModel.getSelectedObject();

Upvotes: 0

Neil
Neil

Reputation: 7202

You can check for a given cell's selected status with:

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

Upvotes: 1

RAS
RAS

Reputation: 8156

@junaidp, As you haven't provided any code, I'm assuming that you have used CheckBoxCell to generate checkbox column and assigned MultiSelectionModel to your cellTable. You can use the following code:

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

Here selectedObjects will be of type T, that you should have specified as CellTable<T>. selectedObjects will be objects, associated to checked rows only.

Upvotes: 1

Related Questions