#846 - Ottenere l'indice di riga con una GridView

Utilizzando il control GridView l'indice della riga del controllo che ha causato il PostBack, può essere recuperato attraverso l'evento RowCommand.

All'event handler viene passato come parametro un oggetto GridViewCommandEventArgs, attraverso la proprietà CommandArgument è possibile recuperare l'indice di della riga.

Il meccanisco è del tutto automatico per le CommandField, mentre nel caso della TemplateField è necessaria qualche riga di codice in più.

Per prima cosa recuperiamo l'oggetto all'origine del PostBack tramite la proprietà CommandSource, eseguiamo il cast su Control e successivamente recuperiamo il NamingContainer che nel nostro caso è l'oggetto GridViewRow, che espone la proprietà RowIndex.
Di seguito un estratto del codice:

// recupero l'oggetto che ha causato l'evento

Control c = (Control)e.CommandSource;
// recupero il NamingConteiner

GridViewRow r = (GridViewRow)c.NamingContainer;
// recupero e visualizzo l'indice della riga

this.Label1.Text = string.Format("indice riga selezionata: {0}",r.RowIndex);

Nota: Questo script contiene un allegato.


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC