Ich bin neu in MVC und Business Objects, aber ich habe Schwierigkeiten zu verstehen, wie eine Aktualisierung in einem Formular ausgelöst wird, wenn ein Update in meiner Geschäftslogik auftritt.VB.net Raising Events ... Verwirrung! MVC
Dies ist kein Problem für 95% meiner Formulare, da sie das Update von dem Formular aufrufen, das aktualisiert werden muss.
In einigen Fällen jedoch eine innere Form und Aktualisierung, die eine äußere Form benötigt, um dies zu reflektieren. Ich habe über Handles, Delegates, AddressOf etc. usw. gelesen und ich ertrinke in Optionen.
Vereinfacht gesagt, ich brauche drei Dinge 1. Form2 (innere Form) info muss passieren, aktualisiert, so dass der Benutzer Speichern klickt 2. Speichern ruft meine Data Access Layer und aktualisiert die Datenbank 3. Form1 (Außen form) hat ein DataGrid, das benachrichtigt werden muss, damit es über ein Sub-LoadGrid aktualisiert werden kann
Es ist Stufe 3, die ich nicht tun kann. Wie trigger ich ein Sub in Form2 (LoadGrid), um die Aktualisierung von einer externen Klasse durchzuführen. Wenn ich das nur zur Arbeit bringen kann, bin ich sicher, dass ich daraus für andere Szenarien lernen werde.
Hallo Dean, vielen Dank hilft, ist dies die Art von Code, den ich gesucht habe. Eine Sache, über die ich nicht klar bin, ist der Teil "o as object, e as eventargs".Ich entfernte das, weil ich nicht sicher war, was o und e in dieser Situation darstellen sollten. Der Handles Sub wird jedoch nie aufgerufen und ich denke, dass es damit zu tun hat, dass ich das "o as object, e as eventargs" entferne. Wenn das richtig ist, was gebe ich als Objekt und EventArgs? Entschuldigung, wenn das eine dumme Frage ist, aber vielen Dank für Ihre Hilfe bisher. – Mitch
Siehe oben für weitere Informationen – Dean
Ich fühle, wir sind fast da, aber immer noch keine Freude. Ich habe sichergestellt, dass ich "ByVal Updated As Boolean" verwendet und meine Business Class geändert, um WithEvents zu enthalten, aber die Handles Sub reagiert immer noch nicht. Das RaiseEvent wird definitiv genannt, aber hier wird die Spur kalt. Meine Business-Schicht wird als Private Shared WithEvents _ClientDAL als neue ClientDAL() deklariert. – Mitch