Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Evento RowCommand di una grid
martedì 23 luglio 2013 - 18.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Visual Studio 2010
|
Internet explorer 8.0
|
Chrome
|
CSS 2.1
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mar 23 lug 2013 - 18:08
1894_file aspx.zip
Ragazzi,
ci sto sbattendo la testa da ore ma non trovo il problema, in pratica ho una grid nella quale carico dei record provenienti da db funziona tutto, salvataggio e visualizzazione. Adesso nella grid ci sono due templatefield il primo c'è un button modifica che serve a riportare i dati della riga selezionata nei campi textbox per effettuare le modifiche. Funziona tutto ossia i dati vengono presi perfettamente nell'evento rowcommand ma non appaiono nella caselle textbox.
Allego i due file aspx e vb potete darci un'occhiata? Premetto ho fatto i test con e senza i trigger anche ma niente.
Grazie
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
mer 24 lug 2013 - 05:30
>Ragazzi,
>ci sto sbattendo la testa da ore ma non trovo il problema, in
>pratica ho una grid nella quale carico dei record provenienti
>da db funziona tutto, salvataggio e visualizzazione. Adesso nella
>grid ci sono due templatefield
ecco il punto:
il templateField non genera l'evento RowCommand.
Questo evento viene scatenato dai BoundField e dai Button Field.
In luogo del template field che hai usato:
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Btnmodifica" runat="server" Text="Modifica"
CommandName="update" />
</ItemTemplate>
<HeaderStyle Width="70px" />
</asp:TemplateField>
usa un ButtonFiled come questo:
<asp:ButtonField ButtonType="Image"
ImageUrl="~/amministrazione/images/prodotto_modifica.png" Text="Modifica"
CommandName ="Modifica">
<ItemStyle Width="15px" />
</asp:ButtonField>
e vedrai che l'evento RowCommand verra scatenato.
Per completezza ti dico che puoi anche usare un template field ma devi associargli una routine che viene lanciata al evento "click"
Esempio:
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnModifica" runat="server" Text="Modifica" OnCommand="ModificaDati" CommandName="Modifica" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"/>
</ItemTemplate>
</asp:TemplateField>
Al click di questo pulsante verrà lanciata la funzione/routine ModificaDati, che va cotruita con due parametri come ti indico:
ModificaDati(object sender, CommandEventArgs e)
end sub
Non dimenticare che il parametro "e", in entrambi i casi ti da l'indice della riga corrente, da cui facilmente ottenere l'oggetto row e quindi a seguire i dati in essa contenuti, come appresso ti indico:
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
Dim row As GridViewRow = GridView1.Rows(index)
idrecord = CInt(row.Cells(0).Text)
nome=row.Cells(1).Text
........
.......
A meno di specifiche esigenze conviene usare i BoundField e non i templateField :-)
ciao fammi sapere ;-)
Riccardo D'Aria
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 24 lug 2013 - 09:44
Grazie della risposta, il problema non sta nel fatto che l'evento rowcommand non viene generato a me tranquillamente viene eseguito ma sono i dati che a schermo non appaiono nelle rispettive textbox. Ho usato anche il metodo che mi hai postato del templatefiled ossia usando la routine modificadati e il codice "<%# CType(Container,GridViewRow).RowIndex %>" (linguaggio vb) ma i dati vengono presi tranquillamente dalla riga della grid vengono anche passati via codice vb agli oggetti textbox ma sulla pagina aspx non appare nulla i campi text restano vuoti.
E' questo che non riesco a capire dato che tutto funziona perfettamente.
Ciao e grazie
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 24 lug 2013 - 10:42
Ho provato anche a fare il buttonfield ma niente i dati vengono presi dalla grid ma non appaiono nella textbox per esempio ho messo nell'evento rowcommand al click dell'imagebutton una label a cui passo un valore già predefinito. Persino questa label non prende tale valore rimane con la sue originale etichetta. Pertanto secondo me non avviene un refresh della pagina o qualcosa del genere. Fatto sta che non riesco ad andare avanti
ciao
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 24 lug 2013 - 11:03
1895_file apsx.zip
Ti allego i file aspx e vb con il buttonfield tutto funziona come detto nei post precedenti ma i dati non si visualizzano nelle textbox.
E non riesco a capire il perchè, ho unl'atra pagina aspx con sempre una grid e due textbox ho visto e rivisto il suo codice ed è lo stesso come tecnica che utilizzo in queste pagine aspx, li funziona tutto qui no. Boh
Ciao
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
mer 24 lug 2013 - 12:18
Ho fatto dei test e funziona regolarmente, riguarda il tuo codice HTML.
PS. ma i dati dalla griglia li legge?
Io farei così:
Monterei in una pagina solo la griglia e le text Box e vedrei se fa ciò che deve fare.
Se lo fa pian piano aggiungerei tutti gli altri controlli che ci sono testandolo di volta in volta, fino a trovare l'intoppo se c'è.
CIAO fammi sapere
Riccardo D'Aria
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 25 lug 2013 - 16:52
Risolto grazie
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
gio 25 lug 2013 - 19:25
:-) e cme hai risolto ?
Riccardo D'Aria
Torna su
Stanze Forum
Elenco Threads
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 !