Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
[ADO.net] Capire se un DataTable ha delle modifiche non sincronizzate
Ultimo Post 20 feb 2009 14.08 by Andrea Leonardi. 5 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:4

--
16 feb 2009 14.43  
Salve a tutti.
Sono alle prime armi con ADO.net e sto cercando di capirne qualcosa .

Vorrei sapere se esiste qualche proprietà degli oggetti dataset / datatable / tableadapter / bindingsources che mi permetta di capire se ci sono delle modifiche applicate dall'utente ai dati in cache ma non ancora applicate al DB.

Descrivo la situazione:
Ho un semplicissimo form in cui è presente un BindingNavigator che mi permette di scorrere/aggiungere/modificare/cancellare i record di un DataTable.
Se io elimino dei record tramite il pulsante di delete del BindingNavigator questi spariscono dal DataGrid. Alla fine per applicare le modifiche (eliminazioni) al DB bisagna cliccare sul pulsante di salvataggio del BindingNavigator.

Se io volessi fare in modo di poter avvisare l'utente in caso tenti di chiudere il form con delle modifiche "pendenti" come potrei fare?

Grazie a chiunque interverrà.

Posts:435

--
16 feb 2009 17.51  
ciao,
le righe di una datatable hanno uno status, added, deleted ecc ecc

puoi controllare se esistono righe nel datasource della grid ed avvisare
l'utente di cio che va a perdere...

HTH
Max

Il giorno 16 febbraio 2009 15.43, <form>s@dotnetwork.it> ha scritto:

> [image: www.dotnetwork.it] <http://www.dotnetwork.it>
>
> [ADO.net] Capire se un DataTable ha delle modifiche non sincronizzate
> Forum: Windows Forms Applications - Inviato da: GrooveMan in data 16 feb
> 2009 14.43 Salve a tutti.
> Sono alle prime armi con ADO.net e sto cercando di capirne qualcosa .
>
> Vorrei sapere se esiste qualche proprietà degli oggetti dataset / datatable
> / tableadapter / bindingsources che mi permetta di capire se ci sono delle
> modifiche applicate dall'utente ai dati in cache ma non ancora applicate al
> DB.
>
> Descrivo la situazione:
> Ho un semplicissimo form in cui è presente un BindingNavigator che mi
> permette di scorrere/aggiungere/modificare/cancellare i record di un
> DataTable.
> Se io elimino dei record tramite il pulsante di delete del BindingNavigator
> questi spariscono dal DataGrid. Alla fine per applicare le modifiche
> (eliminazioni) al DB bisagna cliccare sul pulsante di salvataggio del
> BindingNavigator.
>
> Se io volessi fare in modo di poter avvisare l'utente in caso tenti di
> chiudere il form con delle modifiche "pendenti" come potrei fare?
>
> Grazie a chiunque interverrà.
>

Posts:96

--
18 feb 2009 11.21  

Come ti ha già suggerito Max, puoi fare in modo di verificarlo testando lo status, credo che il metodo + pratico potrebbe essere una Dataview o forse puoi farlo anche utilizzando il metodo Compute che permette di fare somme, conteggi e simili sui campi di una datatable.

Oppure, molto + banalmente puoi intercettare l'evento Changed delle celle della datagridview (sempre che nella DG Microsoft esista)
e settare un flag booleano a livello di form "Modificato" = true
che poi testi sull'evento closing.

saluti
Sabrina

 

Inserito da Andrea Leonardi su 16 feb 2009 15.43
Salve a tutti.
Sono alle prime armi con ADO.net e sto cercando di capirne qualcosa .

Vorrei sapere se esiste qualche proprietà degli oggetti dataset / datatable / tableadapter / bindingsources che mi permetta di capire se ci sono delle modifiche applicate dall'utente ai dati in cache ma non ancora applicate al DB.

Descrivo la situazione:
Ho un semplicissimo form in cui è presente un BindingNavigator che mi permette di scorrere/aggiungere/modificare/cancellare i record di un DataTable.
Se io elimino dei record tramite il pulsante di delete del BindingNavigator questi spariscono dal DataGrid. Alla fine per applicare le modifiche (eliminazioni) al DB bisagna cliccare sul pulsante di salvataggio del BindingNavigator.

Se io volessi fare in modo di poter avvisare l'utente in caso tenti di chiudere il form con delle modifiche "pendenti" come potrei fare?

Grazie a chiunque interverrà.



Posts:4

--
18 feb 2009 13.50  
Ok, grazie mille ad entrambi!

Ora proverò a smanettare sulla proposta di MAX (forse meno pratica) dato che per il momento non ho particolare fretta...

Ciao

Posts:662

--
18 feb 2009 19.56  
Se io volessi fare in modo di poter avvisare l'utente in caso tenti di chiudere il form con delle modifiche "pendenti" come potrei fare?
Semplicemente richiamando un metodo del DataTable
MiaDataTable.GetChanges()
che ti restituisce una collection di tutte le righe modificate/aggiunte/eliminate dalla tua datatable, puoi filtrare utilizzando il parametro RowState del metodo GetChanges(RowState). Tipicamente si usa così:
If MiaDataTable.GetChanges().Length>0 Then
faiqualcosa....
End If
HTH
Alberto.

Posts:4

--
20 feb 2009 14.08  
Interessante!
Ho guardato un sacco di volte tra i metodi esposti sia dai datatable che dai dataset eppure questo .GetChanges() mi è proprio sfuggito....

Grazie mille anche a te.
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Iniziare da zero con WPF (Parte 3)
Litigi, Divinità, Pennelli e Frigoriferi. (prima parte)
2007/11/22 | Autore: Sabrina Cosolo
Fritto Misto - Classi di uso comune (Parte 6)
Helper: Alcuni metodi per organizzarci nell'uso del file System
2007/10/28 | Autore: Sabrina Cosolo
.NET e l'Interoperabilità COM
Come utilizzare Dll non referenziabili per convertire un documento Word in PDF
2008/07/05 | Autore: Massimo Lofrano
Miniguida alla OOP con il .NET Framework- Parte IV
Come gestire l'ereditarietà
2009/07/17 | Autore: Alberto De Luca
Panoramica delle Proprietà Subordinate (Dependency Properties)
Come iniziare a capire WPF Parte 6
2007/11/22 | Autore: Patrizia Cosolo
Visual Studio LightSwitch Beta 1 - Installazione
La procedura di installazione e le risorse sul web
2010/08/24 | Autore: Mario De Ghetto
Codedom Introduzione all'uso parte2
Costruire il generatore di codice
2009/11/07 | Autore: Sabrna Cosolo
Ereditarietà applicata ai controlli
Creazione di una combobox che mostra immagini al posto del testo
2008/07/06 | Autore: Andrea Zingoni
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.