The way I handled it was toreturn false if the keepExisting flag on
the doBeforeRowSelect event. If your action would clear the selections
of all of the other rows, you cancel the selection. Thus only
selecting the checkbox (or CTRL clicking) the rows will select them.
final CheckboxSelectionModel cbSelectionModel = new
CheckboxSelectionModel();
cbSelectionModel.addListener(new RowSelectionListenerAdapter() {
public boolean doBeforeRowSelect(RowSelectionModel sm,
int rowIndex, boolean keepExisting, Record
record) {
if (!keepExisting) {
return false;
}
return true;
}
});
On Sep 14, 12:21 am, Bakulkumar <[EMAIL PROTECTED]> wrote:
> This is how the behavior in ext js.
>
> I did it by keeping track of selected rows, on GridCellListener and
> GridHeaderListener
> Here is the sample code :
>
> //selectedRowId is a simple ArrayList, which holds the row position in
> grid
>
> grid.addGridCellListener(new GridCellListenerAdapter(){
>
> public void onCellClick(GridPanel grid, int rowIndex,
> int colindex,
> EventObject e) {
>
> RowSelectionModel rowSelectionModel =
> grid.getSelectionModel();
>
> Integer rowInt = new Integer(rowIndex);
> if(selectedRowId.contains(rowInt)){
> selectedRowIds.remove(rowInt);
> }else{
> selectedRowIds.add(rowInt);
> }
>
> if(colindex != 0){
>
> grid.getSelectionModel().clearSelections();
> int[] selectedRowIdsPrem =
> getSelectedRowIdsPremitive(selectedRowIds); // this function converts
> list of Integer into int[]
>
> rowSelectionModel.selectRows(selectedRowIdsPrem);
> }
> }
> });
>
> grid.addGridHeaderListener(new GridHeaderListenerAdapter() {
>
> public void onHeaderClick(GridPanel grid, int
> colIndex, EventObject
> e) {
> selectedRowIds.clear();
>
> if(grid.getSelectionModel().getSelections().length > 1){
> for(int i = 0; i<
> grid.getSelectionModel().getSelections().length; i ++){
> selectedRowId.add(new
> Integer(i));
> }
> }
> }
> });
>
> I am also interested to know if there is any better solution.
>
> -Bakul Kumar
>
> On Sep 3, 8:18 am, siaroslaw <[EMAIL PROTECTED]> wrote:
>
> > Hi,
> > I would like to know how to change the current selection behviour in
> > the grid panel with the checkbox selection model. Let's say I have a
> > list (grid) of items. There is a checkbox to left of each item.
> > Clicking on a checkox controls the state of one item only (checked /
> > unchecked). But when I click on the item (not a checkbox), the
> > currently selected item becomes checked, and other items get
> > unchecked. I want to make the clicking on an item act the same as
> > clicking on a checkbox.
>
> > Thanks!
> > siaroslaw
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"GWT-Ext Developer Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/gwt-ext?hl=en
-~----------~----~----~----~------~----~------~--~---