102 messaggi dal 26 agosto 2009
Ciao, io ho una griglia in cui tramite il pulsante Delete,
elimino il Record che mi interessa tramite il metodo
RowDeleting in cui recupero la DataKey tramite GridView.DataKeys[e.RowIndex].

Una volta terminato il RowDeleting devo aggiornare altri dati tramite il
comando RowDeleted, ma mi serve il valore delle DataKey della riga che avevo cancellatoin precedenza, ma non sò come ricavarla..
(anche perchè giustamente è già stata eliminata) e con
GridView.DataKeys[e.RowIndex] non ottengo niente.

Come faccio a ricavare la DataKey nel metodo RowDeleted??
Beh, visto che le due operazioni avvengono nel corso di un singolo ciclo di vita della pagina, puoi anche pensare di salvarla su un field, no?

m.
102 messaggi dal 26 agosto 2009
Per Field intendi una variabile globale??
Cmq ci sono altri mille modi per risolvere il mio problema, per esempio
io ho usato un trigger in sql, oppure invece di fare un Rowdeleted
e un Rowdeleting avrei potuto usare un semplice bottone nella grid e passargli
poi il parametro.

Ma ciò che vorrei sapere è se c'è il modo di recuperare il valore della
DataKey della riga cancellata dentro il metodo Rowdeleted.
No, intendo una variabile nella pagina. In generale comunque mi sembra una soluzione un po' arzigogolata. Voglio dire... dato che usi il pulsante Delete, secondo me sarebbe meglio fare il binding (nel caso tu non lo stia già facendo) con una objectdatasource e in quel caso implementare e impostare un DeleteMethod in cui incapsulare tutta la logica di eliminazione.

Ciao,
m.
sono completamente daccordo con marco, il tuo probelma non è recuperare il DataKey (che puoi recuperare mediante l'oggetto GridViewDeletedEventArgs che viene passato al metodo gestore dell'evento RowDeleted) ma l'oganizzazione dell'applicazione

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
102 messaggi dal 26 agosto 2009
Ok, uso il databind.
Avevo risolto con un trigger, ma potevo fare come mi ha suggerito Marco
con un DeleteMethod (come avevo detto anche io..).

La datakey del metodo RowDelete si ricava così:
e.Keys["Nome della DataKey"].Tostring()
Grazie,
Claudio

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano

I più letti di oggi

Media
In evidenza
MISC