Aggiungere un pulsante di eliminazione ad un datagrid rappresenta il giusto completamento alle possibilità offerte da questo control.
Si tratta per prima cosa di definire una ButtonColumn ed associare un relativo event handler:
<asp:datagrid id="dg" runat="server" OnDeleteCommand="Delete_Click"> <Columns> [altre colonne] <asp:ButtonColumn ButtonType="LinkButton" Text="Delete" CommandName="Delete" /> </Columns> </asp:datagrid>
A questo punto è sufficiente intercettare l'evento Delete_Click e costruire, attraverso una query parametrica, il comando che effettui la cancellazione:
public void Delete_Click(object sender, DataGridCommandEventArgs e) { string ID = e.Item.ItemIndex; string query = "DELETE FROM tabella WHERE ID = @ID"; // eseguo la query parametrica SqlConnection conn = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand(query, conn); cmd.Parameters.Add("@ID", dg.DataKeys[ID]); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); // riazzero la selezione e rifaccio il binding dei dati dg.EditItemIndex = -1; BindGrid(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Organizzare i moduli sfruttando CommonJS in Javascript
- .NET Aspire per applicazioni distribuite
- Animare la rotazione di un'immagine dentro un canvas in HTML5
- Importare un file JavaScript in un web worker
- .NET Conference Italia 2024 - Milano
- La nostra prova su strada di Windows Phone 7
- Utilizzare Hybrid Cache in .NET 9
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps