When use DgridWrapper, how to re render cells?

when some data changed, I need to re render some cells.
but only call invalidate(), the appear do not change. so I use dom operation to change them manually.
is there some auto method to do this? I only need to change some cells and keep status of scroll and selection.

ps1:
when I set DgridProperties#data to a new object, dgrid re render completely and lost the status of scroll and selection.
when I change some data in the old array of DgridProperties#data and call invalidate(), dgrid do not re render.

ps2:
If want to monitor row click event, need to change the DgridWrapper source?