Dojo Enahnced grid provides multiple ready to use event handlers for handling row operations like onSelect, onAdd, onDelete. It also provides a way to select or deselect all rows of a grid via the dojo's indirectselection plugin. Selection can be radio button based (one row at a time) or checkbox based(multi row selection).
If you need to select all rows and then prevent further de-selection of individual rows, there isn't a standard function to disable all checkboxes of the grid.
Here's a screenshot of what I'm talking about:
//toggleCheckBoxesForEnhancedGrid:
//This function will select all checkboxes
//and disable it or deselect all and enable it
//Params:
//gridName: id of the grid
//flag: true or false
function toggleCheckBoxesForEnhancedGrid(gridName,flag){
var grid = dijit.byId(gridName);
for(var i = 0; i < grid.rowCount; i++)
{
//first select the checkbox for row number i
grid.selection.setSelected(i, flag);
//now prevent de-selection of checkbox by disabling it
grid.rowSelectCell.setDisabled(i, flag);
}
}
The above function uses the enhanced grid's "rowSelectCell" feature to enable or disable a checkbox shown on every row of the grid.
0 comments:
Post a Comment