GridColumnCollection cols = grid.MasterTableView.Columns; GridColumn c = cols.FindByUniqueName(columnName); if (c != null){ int start = c.OrderIndex; for (int i= start; i < cols.Count; i++) { c = cols[i]; if (i < cols.Count - 1) c.OrderIndex = i+1; else c.OrderIndex = start; } } the above code doesn't work when reordering columns through server side. I have written the above code in pageload event . I also tried by setting the various properites like ReorderColumnsOnClient=false but it doesn't work . Kindly suggest alternatives