I found that the best solution was to attach a handler to the "RowClick" event, since every time you click on a checkbox, the RowClick event is fired. Then loop through the data store and update everything based on the checkbox. It's definitely not efficient, but does what I need it to. It's something like this:
grid.on("RowClick", function (event) {
for (var i=0; i<store._arrayOfAllItems.length; i++) {
if (grid.getItem(i)) {
if (grid.getItem(i).check[0]) {
// row is checked, do something
} else {
// row is not checked, do something else
}
}
}
}
As far as I can tell, event
doesn't pass an information useful for identifying which row in the grid was clicked (I'm not 100% sure, there's a lot in it). So this is the best way I came up with.