una cosa che potrebbe esserti utile è il fare il bind direttamente dal codice aspx usando:
<%# DataBinder.Eval(Container.DataItem, "descrizione") %>
dove descrizione è il campo proveniente da db (se bindi con datagrid.datasource)
questo tipo di bind lo puoi inserire ovunque nella datagrid per esempio su un text di un pulsante o sul src di un image.
le colonne le puoi far creare in automatico con AutoGenerateColumns="true" oppure puoi crearle te settando la proprietà a false e aggiungendo alla datagrid i tag
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
Per regolare la larghezza, da codice usi
Datagrid.Columns(1).ItemStyle.Width = Unit.Pixel(250)
dove 1 rappresenta la seconda colonna.
saluti