datagrid

mercoledì 19 febbraio 2003 - 14.16

granarolina Profilo | Newbie

Non riesco a cancellare una riga da un datagrid, qualcuno a come fare?

Ho pensato a richiamare l'evento della pressione di un tasto, ma non è molto "pulito".

Altrimenti si può solo cancellare le colonne, ma devo cancellare una riga... non so nemmeno se si può cancellare una cella alla volta!

Grazie per l'aiuto...

Admin Profilo | Junior Member

Ciao!

E' semplicissimo. Allora, puoi fare in diversi modi:

1) aggiungi una asp:EditCommandColumn tra le colonne della datagrid
ASP:EditCommandColumn
ButtonType="LinkButton"
EditText="Modifica"
CancelText="Annulla"
UpdateText="Aggiorna"
questo ti permetterà di avere automaticamente una colonna con già pronti i comandi per mandare in modifica, o eliminare una determinata riga.
Poi dovrai intercettare l'evento "dataGrid_DeleteCommand", e dentro l'evento scrivere il codice per capire qual'è la riga da eliminare, e quindi agire di conseguenza. Eccoti un esempio

Sub dataGrid_DeleteCommand(ByVal objSender As Object, ByVal objArgs As DataGridCommandEventArgs) Handles dgrValues.DeleteCommand

Trace.Write("delete command")

' ===== ELIMINAZIONE RECORD DEL DB ======

' Item corrisponde alla riga selezionata, infatti sto prendendo il valore della cella zero
objArgs.Item.Cells(0).Text

' =================================

'passa alla modalità normale
dgrValues.EditItemIndex = -1

'recreate the data set and bind it to the DataGrid control
BindDataGrid()

End Sub


2) puoi aggiungere una asp:ButtonColumn, ed impostare la proprietà Command con un nome comodo, ad es. "Elimina".
Poi devi intercettare l'evento "dataGrid_ItemCommand", verificare che il comando che ha scatenato l'evento sia quello col nome che hai specificato, e quindi verificare come sopra la riga selezionata, ed eliminare

Sub dataGrid_ItemCommand(ByVal objSender As Object, ByVal objArgs As DataGridCommandEventArgs) Handles dgrValues.DeleteCommand

if objArgs.CommandName = "Elimina" then
Trace.Write("delete command")

' ===== ELIMINAZIONE RECORD DEL DB ======

' Item corrisponde alla riga selezionata, infatti sto prendendo il valore della cella zero
objArgs.Item.Cells(0).Text

' =================================

'recreate the data set and bind it to the DataGrid control
BindDataGrid()
end if

End Sub



Spero di esserti stato d'aiuto. Comunque tieni d'occhio la sezione "Web Application" del nostro sito ( http://www.dotnethell.it/WebApps/default.aspx )... fra qualche giorno pubblicheremo un tutorial sulla DataGrid...


Ciao!!!

Stefano Giannone (site administrator)
stefano@dotnethell.it
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5