DataGridView nicht aktualisieren, nachdem das dataset aktualisieren vb.net
Habe ich eine vb.net form mit einem dataGridView
Dem dataGridView-Daten-Quelle ist die dgvTableAdapter mit dieser sql-Anweisung
SELECT membres.ID, membres.refere_par, bands.titre,
membres_1.prenom & ' ' & membres_1.nom AS reference_nom
FROM ((bands INNER JOIN membres ON bands.ID = membres.[band])
INNER JOIN membres membres_1 ON membres.refere_par = membres_1.ID)
Ich löschen membres aus der Tabelle membres wie diese
' Get member id
Dim userId As Integer
userId = DataGridView1.Item( 0,0).Value
' Delete the member
Me.MeoshowDataSet2.membres.FindByID(userId).Delete()
Me.MembresTableAdapter.Update(Me.MeoshowDataSet2)
' Refresh datagrid
dataGridView1.Refresh() ' does nothing
Kenne ich die delete-Anweisung funktioniert, weil ich sah, die änderungen in der Datenbank. Wenn ich das Formular schließen und erneut öffnen, das dataGridView ist auf dem neuesten Stand.
Des membres Tabelle eine access-Tabelle
Ich bin mit der app in visual 2010 den debug-Modus.
InformationsquelleAutor pec | 2012-04-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den üblichen Weg dies zu tun ist, um ein reset des
DataSource
desDataGridView
.Versuchen, wie dieser code (mit dem richtigen code, um die richtige Tabelle aus dem dataset):
Aufrufen
.Refresh()
funktioniert nicht, weil es erzwingt nur ein repaint, aber der code, der die Farben der raster nicht weiß, wie die änderungen.Ich glaube, Sie müssen - das ist der Teil, der das problem behebt! Im wesentlichen müssen Sie leeren Sie die datasource - Sie können die datasource auf null, aber mit typeof(List) behalten Sie den automatisch generierten Spalten. Allerdings, wenn es funktioniert, ohne, dass großartig 🙂
Ich verwendet dataGridView1.Datasouce = Nichts
Ah - ja, das ist in etwa der gleiche (habe vergessen, dass Sie gearbeitet haben vb.net).
Könnte man dann nicht auch gelöst werden mit einer BindingSource zu Benachrichtigen, die der DGV für die Veränderungen in der DataTable?
InformationsquelleAutor David Hall
Stolperte ich über dies, während der Suche nach genau das gleiche problem. Fand es nicht online obwohl.
Hier ist was für mich gearbeitet:
Gelöscht, alle Daten in der Daten-Tabelle erst dann wieder befüllt mit den Daten aus dem data-adapter-da Sie sagte, dass die Datenbank aktualisiert wurde, müssen mit dem code, nur dass es nicht aktualisieren.
InformationsquelleAutor Tim
Können Sie auch dieses verwenden:
Ersetzen Sie einfach
dataGridView1
. Der 2. parameter ist derDataTable
Klasse.InformationsquelleAutor AlexVMM
...und eine alternative, die für mich gearbeitet:
InformationsquelleAutor Kristian