Without more details, I couldn't say for sure, but I'd suspect that you've configured the store to not track changes, so the grid cannot display changes that aren't being tracked. Turn autocommit to false to enable it to track changes.
True I am using setAutoCommit to true, and reason is that I am using PagingToolBar, and need to retain changes until user saves changes to database. I need to commit changes (in browser memory) before user goes to next page...
I tested with setting autocommit to false and was able to see dirty mark, but the moment I move to next page using paging tool bar, I either loosing changes (if I don't commit before moving to next page) or loosing dirty mark & changes when I am coming back to previous page.
Keeping changes in memory is more important, so back to square one .
Thanks for your tip, at least I know why I am not able to see dirty mark in my grid....
If you want to use paging with record objects, then you can listen to the before load event and harvest the Records and Changes, keeping them around until the page comes back. Whatever you are currently doing to track changes across pages will still be necessary, but instead of tracking objects, just track id->set of changes. Then after the store fires its StoreDataChangedEvent, you know that a new set of items is around, and you can get the records of all of the changes you have stored locally.
Moving to discussion so others can join in if they've hit this case before.