Refresh manuale della gridview dopo delete

lunedì 29 luglio 2013 - 11.25
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010

trinity Profilo | Guru

Salve ragazzi,

ho una gridview dove carico dei dati provenienti da una tabella sql, non utilizzo l'oggetto sqldatasource o altri oggetti ma carico i dati tutti manualmente attraverso una listof...
Premetto che il linguaggio che utilizzo è vb net, la grid funziona perfettamente sia in inserimento che modifica dei dati ma quando eseguo l'eliminazione del record selezionato, la grid non esegue il refresh pertanto resta il record visibile pur essendo fisicamente eliminato nel database.
Come posso eseguire il refresh della gridview?

posto tutto il codice html ed il codice vb che esegue l'eliminazione del record.

codice html:

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

codice vb:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

IDdellaGridView.databind()

Andrea Restucci - Web Developer

trinity Profilo | Guru

io pensavo che dovessi fare gridview.databind, ma non funziona
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

per aggiornare manulamente il gridview devi chiamare il metodo databind del gridview stesso

Andrea Restucci - Web Developer

trinity Profilo | Guru

uso listapagamenti.DataBind()

ma non funziona
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

ridaria Profilo | Expert

devi rieseguire la lettura dei dati.

Così come la esegui quando accedi alla pagina.

Ma questa è una operazione superflua che assorbe inutili risorse, se sei certo che il record è stato eliminato, puoi semplicemente eliminare la riga, oppure cancellarne il contenuto di ogni cella.

CIAO
Riccardo D'Aria

andrestu Profilo | Expert

Dando un occhiata al volo al tuo codice quello che non mi piace per come lo hai impostato è il fatto che assegni il datasource all'interno del rowCommand, non capiscp il perchè, basta assegnarlo una volta per esempio nell'init della pagina.
per quanto riguarda il databind io ho constatato (ora non ricordo in quali casi) che alle volte è neccessario richiamarlo manulamente per aggiornare i dati a seguito di operazioni appunto sui dati stessi, sopratutto se non si usa come datasource un controllo dedicato.

prova a richiamarlo all'esterno del rowcommand magari nell'evento prerender della pagina

si certo puoi eliminare la riga senza rieseguire la lettura ma comunque devi assicurarti che l'eliminazione sia stata fatta correttamente e in ogni caso il problema si ripresenterebbe nel caso di un insert

poi non ho ben capito ma se viene generata un eccezione cosa accade ? mi riferisco alle righe inserite nel catch.
sei sicuro che non si aggiornano semplicemente perchè viene generata un eccezione ?
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5