You can directly hide the column like this.
<asp:TemplateField HeaderText="Id" Visible="false">
<ItemTemplate>
<asp:Label Text='<%# Eval("Id") %>' OnClick="GetIndex" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" Visible="false" />