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);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.