Tasto modifca (edit) in gridview non funziona in asp net 3.5

lunedì 30 aprile 2012 - 11.37

trinity Profilo | Guru

Ragazzi ho creato una semplice gridview che carica dei dati da un db e un pulsante di tipo boundfiled trasformato in templatefield che modifica ossia prende i dati da record selezionato e li porta in delle semplici textbox.

ecco il codice:

Protected Sub Gd_cred_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles Gd_cred.RowCommand
If (e.CommandName = "Edit") Then
Dim c As Control = CType(e.CommandSource, Control)
Dim r As GridViewRow = CType(c.NamingContainer, GridViewRow)
TextBox1.Text = r.Cells(1).Text
TextBox2.Text = r.Cells(2).Text
End If
End Sub

se eseguo il debug passo passo vede che i dati alle textbox vengono passati ma in schermata non mi appare niente..come mai?

aggiungo che ho fatto un'altra prova ossia dalla pagina aspx ho tolto gli oggetti ajax che in realtà dovrebbero esserci..(updatepanel e updateprogress) ho rilanciato la pagina ed esce questo messaggio di errore: System.Web.HttpException: L'evento RowEditing generato dal GridView 'Gd_cred' non gestito.

perchè devo gestire l'evento rowediting?


Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

mi è capitata la stessa cosa utilizzando un listview, nel senso che mi chiedeva di gestire degli eventi che in realtà non avevo interesse a gestire, ora però non ricordo in quale contesto accade questa cosa.
non vorrei dirti una cavolata ma forse la cosa dipende da come utilizzi il controllo con un datasource, e cioè se usi la proprietà datasourceID oppure DataSource, nel secondo caso (in cui lanci il databind manualmente) si verificano queste richieste.
Comunque se stiamo parlando della stessa "problematica" allora basta che gli assegni dei metodi con contenuto vuoto, lo sò non è il massimo ma se và...

Andrea Restucci - Web Developer

trinity Profilo | Guru

allora in effetti utilizzo il datasource e databind manualmente nell form_load oppure dopo avere salavato....ma sai la cosa strana veramente che cosa è che utilizzare un evento vuoto l'ho provato e funzionava anche se non era assolutamente etico ma io avevo messo la grid all'interno di un updatepanel e inserito anche un updateprogress per far vedere una cosa carica che quando cliccavi su modifica ti appariva la voce attendere una progress solo che lo stesso codice che mi funziona senza questi controlli ajax, ovviamente con l'evento row_editing scritto ma vuoto, con i controlli ajax non funziona nulla, eppure con il dubug il codice all'interno del RowCommand avviene e passa perfettamente i dati alle textbox, ma poi sulla pagina non avviene nulla non si vede la progress e le textbox non sono valorizzate.

Strano

Per esempio per evitare il refresh della pagina quando clicco sul button della grid, quest'ultima l'ho inserita in una updatepanel ovviamente c'è anche lo scriptmanager ed il codice continua a funzionare ma i valori nella pagina non si vedono +...
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

guarda se i problemi li hai dal momento che inserisci il codice all'interno di un update panel allora vuol dire che la pagina non si aggiorna, come è configurato l'update panel conditional o always? se è conditional allora dovrebbe essere normale il fatto che non si aggiorni, dovresti provare a richiamare l'aggiornamento del panel dopo il databind...

trinity Profilo | Guru

E come si fa? :(
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

per richiamare l'aggiornamento manualmente basta che chiami il metodo update del controllo updatepanel che utilizzi.

Andrea Restucci - Web Developer

trinity Profilo | Guru

L'updatePanel è settata su always...cmq anche passando manualmente l'update non mi funziona...questa cosa resta sempre assurda e solo che alla fine io avevo messo questo update panel per gestire il updateprogress e far vedere un messaggio di attesa quando carica i dati
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5