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
App. WinForms / WPF .NET
Datagrid collegata a dataset
martedì 11 settembre 2007 - 08.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
mar 11 set 2007 - 08:55
come si fa per collagere un dataset ad un datasource in modo che se l'utente modifica un valore / aggiunge una riga / elimina una riga dal datagrid questo avvenga anche nel dataset?
c'è una proprietà che permetta questo in modo da non dover scrivere tutto il codice che gestisca tali aventi ed aggiorni il dataset?
ciao
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mar 11 set 2007 - 09:50
Il DataSet non è altro che una copia lato client del tuo Database fisico.
Se tu collegi il DataSet al tuo DataGridView, tutte le modifiche/inserimenti/eliminazioni che vengono apportate non intaccano il Database fisico ma sono limitate al Dataset (copia lato client).
Per effettuare la sincronizzazione del DataBase fisico devi utilizzare il medoto Update del DataAdapter che hai utilizzato per creare il tuo Dataset (Fill)
Ti consiglio di studiarti bene la classe che ho pubblicato nel mio blog (trovi il link qui sotto), potrebbe esserti utile anche per semplificarti la vita...
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
mar 11 set 2007 - 10:24
ma se io faccio:
DataGridView.DataSource = e_DataTable
se l'utente modifica i valori nella griglia aggiunge o elimina le righe nel dataset non ritrovo nulla. ma solo le righe originali!!!
che proprietà devo settare per fare in modo che le modifiche dell'utente nel datagridview vengano poi trasferite in automatico nel dataset?
x il dataadapter so già utilizzarlo per memorizzare da dataset a database
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mar 11 set 2007 - 10:42
Se le proprietà AllowUserToAddRow, AllowUserToDeleteRow, AllowUserToEditRow sono abilitate dovrebbe già funzionare.
E' chiaramente importante collegare il datasource del DataGridView al giusto DataTable.
Io lo uso normalmente e non ho mai avuto problemi.
Fammi sapere, ciao
Ale
http://blogs.dotnethell.it/alebadalin
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
mar 11 set 2007 - 10:48
ora ci sono ma ho un altro problema:
quando salvo su database mi memorizza sempre il valore precedente (cioè chiamo la routine che memorizza sul db prima che il datagrid abbia memorizzato su dataset)
che evendo del datagrid devo usare per poter memorizzare correttamente su db?
ora usavo datagridview.RowLeave ma fa lo scherzo detto sopra.
tu che evento usi?
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mar 11 set 2007 - 14:13
Io di solito creo un oggetto BindingManager in questo modo:
Dim WithEvents bmb As BindingManagerBase
Quando effetto il binding del Database con il DataGridView lo imposto in questo modo:
bmb = Me.BindingContext(TuoDataTable)
A questo punto, prima di richiamare il metodo update del DataAdapter, richiamo il metodo EndCurrentEdit del BindingManagerBase:
bmb.EndCurrentEdit()
TuoDataAdapter.Update(TuoDataTable)
Fammi sapere se funziona, ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
gio 13 set 2007 - 10:21
alla fine avendomi richiesto un bottone per abilitare l'utente alle modifiche ed un altro per salvare il problema non c'è più in quanto quando clicco salva la griglia ha già terminato sicuramente l'aggiornamento del dataset
ciao
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 !