DGV Update nur bei Activated-Event. Warum?

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ruediger_006.

    DGV Update nur bei Activated-Event. Warum?

    Hallo!

    Ich hatte folgendes Problem. 2 Datagridviews auf 2 Forms beide mit eigenem Dataset. Einträge in DGV1 sollten in DGV2 dargestellt werden, sobald man es öffnet. Ich habe nach sehr langem suchen folgende Code gefunden, der das bewerkstelligt:

    VB.NET-Quellcode

    1. Private Sub Wochenuebersicht_Activated(ByVal sender As Object, _
    2. ByVal e As System.EventArgs) Handles MyBase.Activated
    3. Wochenuebersicht_Load(Nothing, Nothing)
    4. End Sub
    5. Private Sub Wochenuebersicht_Load(ByVal sender As Object, _
    6. ByVal e As System.EventArgs) Handles MyBase.Load
    7. me.TableAdapter.Fill(Me.Dataset.Table)
    8. End Sub


    Jetzt habe ich hierzu ein paaf Fragen:
    1. Wochenuebersicht_Load(NOthing, Nothing) funktioniert komischerweise nur mit dem Activated-Event. Wenn ich das in Shown packe, klappts nicht. Warum?
    2. Kann mir vielleicht jemand die genaue Funktion von Wochenuebersicht_Load(Nothing, Nothing) erklären? eigentlich wird ja damit nochmal das Load-Ereignis aufgerufen, damit wird das DGV wieder gefüllt. Warum updated der denn die Daten dann nicht gleich beim ersten mal? Wenn ich nämlich das Activated-Event auskommentiere wird das DGV nicht mit den aktuellen Daten gefüllt.

    Irgendwie verhält sich das alles sehr komisch, ich hoffe jemand kann da Licht ins Dunkle bringen.

    VG
    das tut man nicht, EventHandler als Methode aufzurufen.
    Lager den Code in eine Extra-Sub aus, und die kannst du sowohl von Activated als auch vom Load aus aufrufen. Wobei das Load ja wohl hinfällig wäre - wie du selbst sagst: dassis doppelt gemoppelt.

    Wo hast du diesen fabelhaften Code gefunden? Sowas kenne ich nur von Youtube-Tutorials.

    Das mittm Licht im Dunkeln - such das Event doch einfach im ObjectBrowser auf, vlt. ists da schon genügend erhellt. Sonst F1 drücken, und sich durch MSDN weiter erleuchten lassen.
    Ansonsten nochmal nachfragen.
    Hi Erfinder!

    F1 ist natürlich eine meiner Lieblingstasten. Der Code war hier in einem Programm von einem ExKollegen und das mit dem EventHandler als Methode versuche ich ab jetzt zu unterlassen. Eine Frage habe ich aber noch. Wenn ich
    me.TableAdapter.Fill(Me.Dataset.Table)
    mit dem Activated-Event aufrufe aktualisiert der das Datagrid. Mit Aktualisieren meine ich, dass er, wenn in einem andere DGV etwas geändert wurde (mit anderem Dataset
    (wir hatten das an anderer Stelle schonmal, ich weiss das das äusserst subobtimal ist!)) er diese Änderungen übernimmt. Sprich, er reconnected zur DB und läd das Dataset neu und
    befüllt das DGV neu. Wenn ich den gleichen Befehl in den Load-Event packe aktualisiert er nicht. Hast du ne Ahnung warum?

    EDIT: Ich habe die Lösung gefunden:
    Das Load Event feuert nur, wenn die Form initial geladen wird. Das erklärt natürlich einiges.