Aggiornare DataGridView

giovedì 14 maggio 2009 - 23.46

zorro77 Profilo | Newbie

Salve a tutti
ho creato un db con access, e ho inserito una DataGridView collegato al DB. Quando faccio un inserimento dalla form nel DB, successivamente faccio un MyDBBindingSource.ResetBindings(False), ma il mio DataGridView non si aggiorna,...come devo fare?
Altra cosa che mi interessa fare, è che se seleziono un elemento dal DataGridView posso cancellare l'intera riga o solo un campo e aggiornarmi il DB.

Grazie in aticipo per l'aiuto

Jeremy Profilo | Guru

Ciao Diego.
Se hai usato il Wizard, avrai anche un dataadapter.
Se i dati nel db li aggiungi da un form che non usa lo stesso oggetto bindingsource, è necessario che tu rifaccia il Fill del dataadapter e successivamente un refresh della griglia.

Facci sapere...
Ciao

STARS Profilo | Newbie

una soluzione semplice, ma non so quanto posso essere "fine" è quella che, ogni volta che fai una operazione di update, delete, insert riesegui una select.

Ciao

zorro77 Profilo | Newbie

Ciao
facendo il wizard mi è stato creato il DataSet, BindingSource e TableAdapter, ma non il DataAdapter...
L'inserimento lo faccio da delle textBox con le quali mi costruisco la query e faccio l'insert

Non è che mi potresti aiutare con un pò di codice?

Grazie in anticipo

Jeremy Profilo | Guru

Ciao Diego.
TableAdapter o DataAdapter che sia, il concetto non cambia, dovresti, piuttosto, mostrare tu un pò di codice.
Magari quello relativo al form che contiene il datagridview.

Facci sapere...
Ciao

zorro77 Profilo | Newbie

Ok
questo è il codice che ho, il resto è creato in automatico quando ho aggiunto il DataGridView, creandomi la connessione al DB, e pertanto il DataSet, BindingSource e TableAdapter

Private Sub Button_Ins_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Ins.Click
Dim stringasql As String

stringasql = "Insert into MyDB(1,2) values('prova','prova')"
'stringasql = stringasql & txt_campo1.Text & "," & txt_campo2.Text & "')"


'Dichiarazioni
Dim conn As New OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & App_Path() & "\db.mdb" & ";" _
& "Persist Security Info=False")
conn.Open()
Dim strIns As String = ""

'Per eseguire l'insert
Dim cmd As New OleDbCommand(stringasql, conn)
cmd.ExecuteNonQuery()
cmd.Dispose()

End Sub

Jeremy Profilo | Guru

Ciao Diego.
Prova ad aggiungere un bottone al tuo form con la griglia e, nell'evento click, prova a scriverci questo codice:

TuoTableAdapter.fill(tuodataset.tuatabella) tuodatagridview.datasource=tuodataset.tuatabella tuodatagridview.refresh

Il codice che ti avevo chiesto, mi serviva per capire i nomi dei tuoi oggetti .... .... ma fa lo stesso.

Facci sapere...
Ciao

zorro77 Profilo | Newbie

ok
perfetto
mi aggiorna il mio datagridview ;-)

Ora avrei necessità di altro aiuto....apro altro post o continuoi qui? L'argomento consiste nel poter manipolare i record della tabella, da quento ho capito usando i datatable

Grazie ancora

zorro77 Profilo | Newbie

Ciao
noto che non sempre mi aggiorna al primo inserimento...da cosa può dipendere?

DomA Profilo | Expert

Ciao,
ti posto il codice che utilizzo io per aggiornare:

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

Fammi sapere
Domenico

zorro77 Profilo | Newbie

Ciao
volendo adattare il tuo codice a quello già postato da me?

Grazie in anticipo
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5