Salve, ho un controllo datagrid con ID=dgTabella collegato ad un database di Access di nome leggi.mdb. Programmo in VB.NET su piattaforma Web Matrix per lo sviluppo di pagine ASP.NET.
Ho inserito una colonna di tipo PushButton nel datagrid che mi dovrebbe permettere di cancellare dal database il record visualizzato nella riga della tabella contenente il pulsante cliccato.
Ho imparato ad ottenere l'indice della riga della tabella selezionata e a visualizzare tale valore premendo il PushButton. Il codice da me utilizzato è il seguente:
Questo è, invece, il codice da me utilizzato (ma non nel datagrid) per eliminare un record dall'archivio:codice:Sub dgTabella_DeleteCommand(sender As Object, e As DataGridCommandEventArgs) Dim index As Integer index = e.Item.ItemIndex Dim indice As String indice = e.Item.Cells(index).Text lblMessage.Text = "Indice selezionato: " & indice End Sub
Come si può notare, l'ID del record è recuperato dal valore della textbox di nome txtNumLegge.codice:Dim MySQL As String = "DELETE FROM archivio_leggi WHERE id_legge = txtNumLegge.Text;" Dim myConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & server.mappath("datastore/leggi.mdb") & ";") Dim Cmd as New OleDbCommand(MySQL, MyConn) cmd.Parameters.Add(New OleDbParameter("@id_legge", txtNumLegge.Text)) cmd.Parameters("@id_legge").Value = txtNumLegge.Text MyConn.Open() cmd.ExecuteNonQuery MyConn.Close()
Mi piacerebbe poter integrare nell'evento dgTabella_DeleteCommand il codice da me utilizzato per cancellare un record, ma non so come fare per recuperare l'ID del record corrente, onde poterlo cancellare.
Ho pensato di inserire nel datagrid una colonna contenente l'ID di ciascun record ma, come ho già detto, non so come fare per individuarlo quando clicco sul PushButton.
Attualmente, l'unico valore che riesco a recuperare premendo un pulsante nel datagrid è l'indice della riga selezionata.
Qualcuno saprebbe aiutarmi a far sì che la pressione del PushButton produca la cancellazione del record selezionato dall'archivio?
Grazie in anticipo.

Rispondi quotando