Buenos días,
Primero puedes crear en desing las columnas que quieres que te presente en el GridView
para ello nos vamos a las propiedades del GridView, en AutoGenerateColumns=False
y en las propiedades columns le añadimos todas las columnas que deseamos que presente.
Code Snippet
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="false"
runat="server">
<columns>
<asp:boundfield datafield="CustomerID" headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName" headertext="Company Name"/>
</columns>
</asp:gridview>
Yo siempre utilizo un repearte para que los lo chic@s de maquetación tenga un control total sobre el html, aunque es más costoso la implementación pero luego ganamos en performace y costo de mantenimiento.
http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/repeater.aspx
También me parace buena idea utilizar XslTransform concretamente el Web control XML, aunque puede ser más dificil implementar el fichero XSL,
http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/standard/xml.aspx
En espera que hay sido de ayuda un saludo.