Oppure

Loading
23/01/09 8:35
francovacchiano
Ho la necessità di svuotare con un bottone, il DataGridView con le righe caricate. Successivamente da codice ricalcolo e riscrivo le righe. A video mi elimina le righe
Il problema è che quando vado a salvare, oltre alle nuove inserite, mi ritrovo anche le vecchie righe presenti quando ho caricato DataGridView.
Come posso fare per eliminare le righe ?
Questo è il codice che uso per caricare, cancellare e salvare.

caricamento
---------------------------------------
Dim cn AsNew SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=NorthWind;Data Source=.\sqlexpress;Connect Timeout=5";)
Dim da As New SqlDataAdapter()
Dim dt As New DataTable()
Dim cm As New SqlCommand("Select * FROM TabClienti", cn)
da.SelectCommand = cm
Dim cmbuilder AsNew SqlCommandBuilder(da)
dt = New DataTable
da.Fill(dt)
Me.DataGridView2.DataSource = dt
---------------------------------------

salvataggio
------------------------------------
Me.DataGridView1.BindingContext(dt1).EndCurrentEdit( )
Me.da1.Update(dt1)
------------------------------------

pulizia DatagridView
------------------------------------
Me.DataGridView1.DataSource.rows.clear()
------------------------------------
aaa
23/01/09 15:31
Thejuster
immagino che questo codice sia tipo come un update o aggiornamento.

sposta il rows.clear()
all'inizio del codice
anzichè di posizionarlo alla fine
vedi che funziona :k:

'pulizia DatagridView
Me.DataGridView1.DataSource.rows.clear()

Dim cn AsNew SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=NorthWind;Data Source=.\sqlexpress;Connect Timeout=5")
Dim da As New SqlDataAdapter()
Dim dt As New DataTable()
Dim cm As New SqlCommand("Select * FROM TabClienti", cn)
da.SelectCommand = cm
Dim cmbuilder AsNew SqlCommandBuilder(da)
dt = New DataTable
da.Fill(dt)
Me.DataGridView2.DataSource = dt

'salvataggio

Me.DataGridView1.BindingContext(dt1).EndCurrentEdit( )
Me.da1.Update(dt1)



Dovrebbe svolgersi in questo modo

Prima svuoti tutto il datagrid
e dopo ricarichi tutto così ti aggiunge i dati nuovi se ci sono e ti toglie quelli eliminati.
mire.forumfree.it/ - Mire Engine
C# UI Designer
24/01/09 14:08
francovacchiano
Ti ringrazio per la risposta. Ma non ho espresso bene il pmio problema.
Io carico la DataGrdiView con il codice che ti ho esposto; successivamente devo cancellare tutto quello che vedo a video, e riempire la griglia da codice con delle formule, per poi salvare nel database.
Quello che tu mi hai suggerito è riferito alla ricarica della griglia dal database.
aaa
24/01/09 14:29
Il Totem
Prova invece ad annullare il datasource e a reinizializzarlo.
aaa
24/01/09 14:36
francovacchiano
In che modo ? Tieni presente che mi deve cancellare dalla tabella, le righe che annullo dalla griglia.
Grazie.
aaa
26/01/09 12:52
Thejuster
cioè vuoi eliminare sia a video che dal database la righa che annulli?
mire.forumfree.it/ - Mire Engine
C# UI Designer
26/01/09 15:35
Il Totem
Hai usato il metodo EndEdit per inviare le modifiche al datasource?
aaa