Slezionare riga e in contemporanea scatenare evento in gridview.

venerdì 25 maggio 2012 - 20.21

Geronimo79 Profilo | Junior Member

Nell'evento RowCommand di un datagridview, vorrei contemporaneamente selezionare l'intera riga e scatenare un determinato evento, è possibile?
Ho provato così ho inserito un imagebutton:

nell'evento RowDataBound:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Poi ho inserito un determinato codice nell'evento RowCommand ma mi viene selezionata soltanto la riga senza scatenare nessun evento.

Come procedo?
Uso vb.net e asp.net.
Grazie a tutti.

matteoct Profilo | Junior Member

Hai provato ad inserire il codice nell'evento GridViewXXXXX_SelectedIndexChanged anzichè RowDataBound?

Geronimo79 Profilo | Junior Member

No, se inserisco quel codice nell'evento GridView1_SelectedIndexChanged mi dà errore in quanto "e.row" me lo sottolinea come errore....

Ho provato anche così nell'evento rowcommand:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Mi restitutisce l'errore: Riferimento a un oggetto non impostato su un'istanza di oggetto.

matteoct Profilo | Junior Member

Non so se sia utile al tuo scopo, ma nell'evento GridView_SelectedIndexChanged la riga selezionata non la intercetti con e.row, ma con:
Dim row As GridViewRow = GridView1.SelectedRow

Per cercare un controllo nella riga selezionata, ad esempio una label:

Dim testo As Label = CType(row.Cells(1).FindControl("Label1"), Label)

dove il numero della cella tra parentesi corrisponde alla colonna dove si trova il controllo

ciao

Geronimo79 Profilo | Junior Member

No niente da fare....è un imagebutton impostato come templatefield e quindi ho fatto così:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Comunque non penso c'entri molto il fatto di inserire il codice sull'evento "GridView1_SelectedIndexChanged" in quanto nel momento in cui clicco sull'image button mi dovrebbe sia selezionare la riga che scatenare un evento....quindi il codice di selezione dovrebbe essere inserito direttamente sul rowcommand....il cambio record lo effettua nel momento del click sull'imagebutton...Grazie comunque dell'aiuto...se risolvo posto il codice.

matteoct Profilo | Junior Member

Scusami, ma con l'evento click del button non va?

Geronimo79 Profilo | Junior Member

No non va....se il codice iniziale che ho postato lo inserisco nel rowdatabound mi seleziona la riga e si ferma là....funziona soltanto se abilito la selezione del gridview, a quel punto seleziono il record e clicco sul pulsante e và ok...se invece volessi cliccare direttamente sul pulsante e fare contemporaneamente le due cose nn c'è verso....
ma questo codice:


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

è possibile inserirlo soltanto nel rowdatabound??? Non può essere adattato in altre circostanze???

matteoct Profilo | Junior Member

Ma nella proprietà commandname del button, hai impostato "select"?

Geronimo79 Profilo | Junior Member

Alla fine ho risolto....in pratica per selezionare la riga non andava inserito nessun codice nè nell'evento "RowCommand" nè tantomeno nell'evento "RowDataBound" ma direttamente nell'evento "SelectedIndexChanged",(come del resto detto da te), invece pensavo che prima andasse messo il codice di selezione record e poi il relativo codice che mi occorreva...Grazie del prezioso aiuto...un saluto.

matteoct Profilo | Junior Member

di nulla
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