10 messaggi dal 17 aprile 2014
Salve ragazzi,
ho il seguente codice su RowDataBound del mio gridview:
If (e.Row.RowType = DataControlRowType.DataRow) Then
                e.Row.Attributes.Add("onkeydown", "javascript:ChangeRowColor('" & e.Row.ClientID & "')")
                e.Row.Attributes.Add("onkeyup", "javascript:ChangeRowColor('" & e.Row.ClientID & "')")
                e.Row.Attributes.Add("onclick", "javascript:ChangeRowColor('" & e.Row.ClientID & "')")

                Dim lbl As Label = CType(e.Row.FindControl("BOD_NPRGSTA"), Label)
                lbl.Attributes("onclick") = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" & e.Row.RowIndex)

            End If


vorrei usarlo per intercettare il click sulla riga del GridView quando clicco sulla Label lbl.

Il problema lo ho perchè quando faccio click sulla Label stessa mi "sfascia" il gridview stesso. (mi aggiunge una riga vuota senza motivo).

Potete darmi una dritta x favore.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, buongiorno.
Spiega nel dettaglio la funzionalità che vuoi ottenere, così sarà più facile darti un consiglio.

Per caso vuoi selezionare una riga della GridView lato client, cioè senza causare un postback lato server? Se è così, cosa deve succedere poi alle righe che sono state selezionate dall'utente?

ciao,
Moreno

Enjoy learning and just keep making
10 messaggi dal 17 aprile 2014
Buongiorno io vorrei selezionare la riga del gridview per ottenere il valore di 3 campi della riga in cui ho cliccato. Naturalmente se clicco sulla riga 2 voglio i valori della riga 2 e cosi via xhé devo oassarli come Session ad un altra pagina .aspx che apro su click di un campo stesso del gridview. Questo é ciò che mi serve x questo stavo cercando di usare quella funzione:
Dim lbl As Label = CType(e.Row.FindControl("BOD_NPRGSTA"), Label)
lbl.Attributes("onclick") = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" & e.Row.RowIndex)

Per esempio l avevo impostata che su click di una Label mi restutisse il valore della riga che poi mi richiamavo sugli altri eventi del gridview.
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

emanuele1111 ha scritto:

vorrei selezionare la riga del gridview per ottenere il valore di 3 campi della riga in cui ho cliccato.

Ok, allora esiste un modo più semplice.
Tra le colonne della tua GridView, crea un CommandField come il seguente, da cui abiliti il comando di selezione.
<Columns>
  <!-- qui hai le altre colonne -->
  <!-- E in fondo metti un CommandField -->
  <asp:CommandField SelectText="Seleziona" ShowSelectButton="true" />
</Columns

Il CommandField produrrà un elemento cliccabile proprio come la label che stavi cercando di creare ma, come vedi dal codice qui sopra, lo fa con un codice molto più semplice, che non ti costringe a lavorare dal codefile .vb.

A questo punto devi gestire l'evento OnSelectedIndexChanged della GridView, che verrà sollevato quando un utente va a selezionare la riga.
Dal codefile .vb, crea un gestore per quell'evento e da lì potrai recuperare i valori della riga selezionata accedendo alla proprietà SelectedRow della GridView. Vedi questi esempio sulla documentazione MSDN:
https://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.gridview.selectedrow(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

ciao,
Moreno

Enjoy learning and just keep making
10 messaggi dal 17 aprile 2014
Grazie domani provo ed aggiorno il thread
10 messaggi dal 17 aprile 2014
Ciao Moreno,
ho fatto la prova che mi hai consigliato ma mi da lo stesso identico problema purtroppo.

Vorrei poter postare l'immagine del grid ma non so come si fa qui nel forum.
Fammi sapere se posso inviartela al tuo profilo.
Modificato da emanuele1111 il 20 luglio 2015 07.28 -

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.