Aggiornamento datagridview

lunedì 25 marzo 2013 - 07.42

olmof Profilo | Junior Member

Ciao a tutti.
Non riesco a capire come aggiornare un dgv dopo aver eliminato un record.
Il codice per la cancellazione è questo:

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

Ma finchè non esco e rientro nel form il dgv non si aggiorna.
Se invece inserisco un nuovo record il dgv si aggiorna.
Dove sbaglio?

ridaria Profilo | Expert

Dopo la cancellazione del record dal DB, potresti molto semplicemente, eliminare dalla griglia la riga interessata, ottenendo così il risultato voluto senza rileggere e ricaricare il dataset nella griglia.

Che ne pensi?


CIAO
Riccardo D'Aria

DomA Profilo | Expert

Quella di Riccardo può essere una buona idea in un'applicazione mono utente. In applicazioni multiutente anch'io preferisco ricaricare i dati perché un altro utente potrebbe aver apportaqto delle modifiche.
In tal caso devi utilizzare un dataview

prova così:

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

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico

ridaria Profilo | Expert

>Quella di Riccardo può essere una buona idea in un'applicazione
>mono utente. In applicazioni multiutente anch'io preferisco ricaricare
>i dati perché un altro utente potrebbe aver apportaqto delle
>modifiche.

Direi che dipende.

Sebbene multiutente, il ricarico di tutti dati è superfluo dal momento che in questo casi si tratta di una eliminazione di una riga, e quindi è opportuno ed essenziale che l'utente che ha eliminato la riga veda a video l'effetiva eliminazione, e ciò è ottenibile con la semplice eliminazione della riga, posto che l'eliminazione del record sia andata a buon FINE!

Ritengo Superfluo l'impiego di risorse a ricaricare i dati della maschera in questione.

CIAO
Riccardo D'Aria

pieroalampi Profilo | Expert

perdonatemi se intervengo ma mi chiedevo una cosa?? in presenza di dataset che popoli il datagridview non credo sia possibile manipolare le righe o sbaglio,?? lo stesso è agganciato al dataset e viene blindato, lo dico perchè anche io ho provato a fare una cosa del genere e se non sbaglio popolavo la datagridview senza dataset ma poi sono ritornato al metodo dataset perche era più veloce.
almeno io, in presenza di dataset ricarico il db all'interno della datagridview, la questione mi interessa molto scusate per l'intervento ma sono incuriosito
la discussione era questa :
http://www.dotnethell.it/forum/messages.aspx?ThreadID=42712
cioe si cancella dal db, ma il dataset è popolato ancora o mi sbaglio? quindi quel datagridview non può essere manipolato! chiedo scusa in anticipo se sto sbagliando
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

olmof Profilo | Junior Member

>In tal caso devi utilizzare un dataview
>
>prova così:
>
Dim MyDB As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & pathMDb & nameMdbAzienda) Dim da_SetMer As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM SettoriMerc1", MyDB) Dim ds_SetMer As DataSet = New DataSet() MyDB.Open() da_SetMer.Fill(ds_SetMer, "SettoriMerc1") Dim dvDati As DataView = ds_SetMer.Tables("SettoriMerc1").DefaultView dgvSetMerc.DataSource = dvDati MyDB.Close()
>
Ho risolto anche con il mio codice.
Il problema è che nella sub di cancellazione avevo dimenticato un myDB.Close().

Grazie comunque
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