Iterating Visible Rows

I need to iterate the visible rows for a TreeGrid after a filter has been applied. Here is an attempt I made that doesn’t seem to work:

mygrid.forEachRow( function(id) {

if ( mygrid.isItemExists(id) ) {
	if ( mygrid.cells(id,0).getValue() == 'item' )
	{
	  var cell = mygrid.cells(id,2);
	  cell.setValue('aaa');
	}
}
});

Also, how do I know if a cell value has changes during a similar iteration?

Thank you,
John

try to use

var count = grid.getRowsNum(); for (var i=0; i<count; i++){ var id = grid.getRowIndex(i); var cell = mygrid.cells(id,2); //custom code here }

Ah, I see what I was doing wrong. Thanks for the assistance. Now I need to know how to tell if a cell was changed.

Thanks again,
John

Try to use

var wasChanged = mygrid.cells(i,j).cell.wasChanged;