Dont be depend on AutoGenerate COlumns,
Use TemplateField as
<asp:GridView runat="server" AutoGenerateColumns="false" ID="GridViewCustomer">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label Text='<%# Eval("CustomerName") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" Text="Edit" CommandName="Edit" CommandArgument='<%# Eval("CustomerId") %>'
runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>