In a GridControl that holds its own data, and in a GridDataBoundGrid, you can get this behavior just by setting the OptimizeInsertRemoveCells property. But in a virtual grid, you have to actually call ScrollWindow currently.
Here is a sample that shows how to set the OptimizeInsertRemoveCells where its works to optimize removing rows. On the left of the sample screen, you will see a list ot rows that get redrawn as the result of deleting a row in one of the grids. The sample also shows you you can call scrollwindow in a virtual grid case to get a similar optimization.
InsertDeleteSample_465.zip