Hola,
Asi puedes copiar las columnas en un array:
Código PHP:
Dim myarray() As DataControlField
ReDim myarray(GridView1.Rows.Count - 1)
GridView1.Columns.CopyTo(myarray, 0)
Luego puedes ir insertandolas en el grid en el orden que quieras asi:
Código PHP:
GridView1.Columns.Add(myarray(indice de la columna))
Saludos