self.dataView.onRowsChanged.subscribe(function(e, args)
{
self.sg.invalidateRows(args.rows);
self.sg.render();
if (self.selectedRowIds.length > 0)
{
// since how the original data maps onto rows has changed,
// the selected rows in the grid need to be updated
var selRows = [];
for (var i = 0; i < self.selectedRowIds.length; i++)
{
var idx = self.dataView.getRowById(self.selectedRowIds[i]);
if (idx != undefined)
selRows.push(idx);
}
self.sg.setSelectedRows(selRows);
}
});