codice:
 <asp:GridView ID="GVAnniCorso" runat="server" AllowSorting="True" 
            AutoGenerateColumns="False" DataKeyNames="PkId" 
            DataSourceID="dsAnniCorso_Elenco" 
            EmptyDataText="Non sono presenti elementi in archivio" CssClass="Elenco" 
            onrowupdated="GVAnniCorso_RowUpdated" 
            onrowediting="GVAnniCorso_RowEditing">
            <Columns>
                <asp:BoundField DataField="DsAnnoCorso" HeaderText="Anno Corso" 
                    SortExpression="DsAnnoCorso" />
                <asp:CommandField ButtonType="Image" CancelImageUrl="~/immagini/cancel.png" 
                    EditImageUrl="~/immagini/pencil.png" ShowEditButton="True" 
                    UpdateImageUrl="~/immagini/accept.png" ControlStyle-CssClass="ibtn" >
                <ControlStyle CssClass="ibtn" />
                </asp:CommandField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:ImageButton ID="ibDelete" runat="server" AlternateText="Elimina" 
                            CausesValidation="False" CommandArgument='<%# Eval("PkId") %>' 
                            CommandName="Delete" ImageUrl="~/immagini/delete.png" 
                            onclientclick="return confirm('Procedere con la cancellazione?');" 
                            ToolTip="Elimina" CssClass="ibtn" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
Il fatto è che la gridView elabora questi dati in completa autonomia