Zum Inhalt springen

[VB.NET] DataGridView aktualisieren


Empfohlene Beiträge

Geschrieben

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

Geschrieben

ö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()

  • 6 Monate später...
Geschrieben

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:

Geschrieben

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?

Geschrieben

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:

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...