Thanks for your help!
Because the rows in datagrid can be changed many times before they are send to server.
Example:
a row (r) has a field 'f1' with value 'xyz'. It's changed so the new value is '123'.
After changing other rows, I change my mind and change again the row (r) so now, the "new" value is 'xyz'.
the datagrid('getChanges') counts the row (r) as changed but it doesn't changed really.
I want to send to server only the rows really changed.
To solve it, I figured out make a "picture" of the original rows and check against it.
Now, ooopsss!!!, I found javascript copies objects and arrays as a kind of "by reference",
so the copy of data.rows
data.orgRows = data.rows;
was not a real/self-contained copy.
So, I had to use this line of code to make two different objects:
data.orgRows = $.extend(true, {}, data.rows);
and everything is working ok .... until now!!
Thanks again and so long!