Zum Inhalt springen

[VB.NET] DataGridView aktualisieren


moonbaby

Empfohlene Beiträge

Hallo zusammen,

kann mir jemand sagen wie ich eine DataGridView aktualisiere, nachdem ich neue Werte in die Datenbank eingefügt habe? Wenn ich das Programm schließe und neu öffne, sind die neuen Werte da, aber ich würde gerne direkt sehen, was geändert wurde.

Ich habe es bisher mit

Me.DataGridView1.Refresh()

versucht und hab auch mit google keine andere Möglichkeit gefunden. Allerdings tut sich da nix... :(

Bin für jede Hilfe dankbar.

LG, moonbaby

Link zu diesem Kommentar
Auf anderen Seiten teilen

öhm ich glaube, dass du der, die, das datasource wieder neu füllen musst

(das weist du ja dem datagridview zu oder)

        conn.Open()

        ds.Clear()

        da.Fill(ds, "Tabelle")

        DataGridTabelle.DataSource = ds

        DataGridTabelle.DataMember = "Tabelle"

        DataGridTabelle.Refresh()

        conn.Close()

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 6 Monate später...

mhh, keines der objekte die ich nutze hat refetch als member.

mein datagridview baut sich folgenderrmaßen auf:


dt = New DataTable

da = New MySqlDataAdapter("SELECT ID, corr_KundenNr, ... FROM table WHERE corr_KundenNr = '" & Kundennummer & "'", conn)

da.Fill(dt)

cb = New MySqlCommandBuilder(da)


KV.DataSource = dt

weder dt, noch da oder cb unterstützen ein objekt namens refetch... :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe

da.Fill(dt)
probiert, das bringt zwar ein ergebnis, aber jetzt werden die einträge aus der db einfach an die vorhandenen angefügt... somit muss ich vorher entweder die einträge löschen oder die datasource verbindung entfernen. aber: Frage: wenn ich die einträge über dgv.rows.clear() lösche, löscht er auch die einträge in der DB? der befehl scheint aber auch irgendwie nicht zu funktionieren, denn er gibt mir eine fehlermeldung aus: 'Der Vorgang kann mit diesem Ereignishandler nicht durchgeführt werden.' momentan mach ich es so: nach jedem RowValidated kommt:

DGV.EndEdit()

dim changes as DataTable = dt.GetChanges()

if not changes is nothing then

da.update(changes)

dt.acceptchanges()

DGV.Rows.Clear 'funktioniert nicht!

da.fill(dt) 'hängt aktuelles Queryergebnis einfach an das vorhandene an...

end if

oder wie kann man die aktuelle dataource verbindung kappen, oder eine neue zuweisen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK OK OK,

:old :old :old

:upps :upps :upps

man sollte natürlich nicht versuchen, das datagridview zu leeren, das wird nix... man muss die datatable mit den ganzen Werten leeren.

dt.clear()

da.fill(dt)

bringt dann doch den erhofften erfolg...

ist ja auch klar, wenn man das datagridview an die datatable bindet, dass das dgv nur die werte zeigt, die in der table sind.

:floet: :floet: :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...