The RowStyle event is already raised for each row - http://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_RowStyletopic
RowStyleEventArgs e (e.RowHandle) can also be negative when dealing with RowGroups http://documentation.devexpress.com/#WindowsForms/CustomDocument695
Each iteration of your loop was using e.RowHandle without checking for negative values - which was changing the back color of the entire column.
I modified your code below to a version that produces an alternating row color pattern on even rows based on the ID column.
private void dataGrid_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
{
if (e.RowHandle >= 0)
{
ColumnView View = dataGrid.MainView as ColumnView;
DevExpress.XtraGrid.Columns.GridColumn col = View.Columns["ID"];
if (Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, col)) % 2 == 0)
{
e.Appearance.BackColor = Color.LightCyan;
}
else
{
e.Appearance.BackColor = Color.White;
}
}
}