if(e.RowIndex > 0 && e.ColIndex > 0) { int val = (e.ColIndex == 3) ? (int)e.Style.CellValue : (int) grid[e.RowIndex, 3].CellValue; if(val == 10) e.Style.BackColor = Color.Green; }
gridControl1.Model.Options.RefreshCurrentCellBehavior = GridRefreshCurrentCellBehavior.RefreshRow
so the row gets redrawn as the currrentcell moves to make sure the whole row is redrawn.
Or, you could subscribe to CurrentCellAcceptedChanges and if the currentcell is in column 3, call grid.RefreshRange on the current row. This woud only redraw the row if the value in column 3 changed.