Salve a tutti,
ho letto varie discussioni su questo forum e altrove a riguardo, ma il risultato (o meglio il NON risultato) è sempre il medesimo. Ho una pagina aspx con un datagrid, collegato ad un db MySQL, al quale si possono aggiungere record per mezzo dell'interfaccia web (fin qui tutto ok). Volendo permettere all'utente di eliminare un record ho aggiunto al datagrid una ButtonColumn di bottoni tipo Delete. Ho impostato la chiave del datagrid (che è un indice intero che si autoincrementa ad ogni inserimento) prima di fare il binding col datasource. Ho vari metodi privati di ausilio:
...datatable e connection sono variabili della classe...codice:Private Sub BindDataGrid() 'collega la sorgente dati al datagrid Me.DataGrid1.DataSource = datatable Me.DataGrid1.DataKeyField = "ID_file" Me.DataGrid1.DataBind() End Sub Private Function GetDataRow(ByVal id As Integer) As DataRow 'restituisce il datarow con un determinato valore chiave 'seleziona record da datatable con questo valore chiave Dim drows() As DataRow Dim filtro As String = "ID_file=" & id.ToString drows = datatable.Select(filtro) If drows.Length > 0 Then Return drows(0) End Function Private Sub DataGrid1_DeleteCommand(ByVal source As System.Object, ByVal e As DataGridCommandEventArgs) Handles DataGrid1.DeleteCommand 'ottiene datarow Dim dr As DataRow = GetDataRow(CInt(DataGrid1.DataKeys(e.Item.ItemIndex))) Dim Sql_cmd As String = "DELETE FROM " & tabella & "WHERE ID_file=" & dr("ID_file") & ";" Dim command2 As New MySqlCommand(Sql_cmd, connection) Try connection.Open() command2.ExecuteNonQuery() connection.Close() Catch ex As MySqlException End Try dr.Delete() BindDataGrid() End Sub
Il problema è che, secondo me, alla pressione del bottone Delete non viene eseguito il codice relativo (GetDataRow funziona correttamente ne sono certo)...Dove sbaglio??

. Ho una pagina aspx con un datagrid, collegato ad un db MySQL, al quale si possono aggiungere record per mezzo dell'interfaccia web (fin qui tutto ok). Volendo permettere all'utente di eliminare un record ho aggiunto al datagrid una ButtonColumn di bottoni tipo Delete. Ho impostato la chiave del datagrid (che è un indice intero che si autoincrementa ad ogni inserimento) prima di fare il binding col datasource. Ho vari metodi privati di ausilio:
Rispondi quotando
) settare il tipo dei bottoni a LinkButton.