Bindingsource Fensterübergreifend schöner Programmieren

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Bindingsource Fensterübergreifend schöner Programmieren

    Guten Tag
    Und zwar habe ich 2 Fenster. Ein Fenster die mir eine Übersicht meiner Datensätze zeigt und das 2. Fenster was mir einen Datensatz genau anzeigt.

    Mein Problem bzw. Frage ist, wie kann man folgenden Code bzw folgendes Vorhaben professioneller programmieren?

    VB.NET-Quellcode

    1. Orders_Time_Formular.Time_listTableAdapter.Fill(Orders_Time_Formular._tsh_service_managerDataSet.Tables("time_list"), DB_Connection.GetData(UserDataKey.UserId))
    2. 'Orders_Time_Formular.Show()
    3. Orders_Time_Formular.TimelistBindingSource.Position = Orders_Time_Formular.TimelistBindingSource.Find("Id", DataGridView1.SelectedRows(0).Cells(IdIndex).Value)
    4. Orders_Time_Formular.ShowDialog()
    5. Time_listTableAdapter.Fill(_tsh_service_managerDataSet.Tables("time_list"), DB_Connection.GetData(UserDataKey.UserId))
    @tomtombusiness Erstell Dur eine separate Datenklasse, die die Daten (DataSet / DataTable) hält und das Laden und Speichern organisiert.
    Von beiden Fenstern aus kannst Du dann auf eine Instanz dieser Klasse zugereifen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ich mach sowas immer in partialen Klassen des Datasets selbst.
    Also da täte ich TableAdapter-Instanzen anlegen und Load/Save-Methoden schreiben.
    Mit meine Helpers registriere ich dann die Datasets, die auf verschiedenen Forms rumliegen, sodass es nur noch ein Dataset ist.
    Dann verwenden alle Forms dasselbe Dataset, binden daran, und haben auch dieselbe Save-Methode.

    So täte ich das machen, wenn ich so generierte DataAdapter ühaupt verwenden würde.
    Tatsächlich nutze ich lieber ein generisches System, wie Dataset->Db
    Da ist das alles erschlagend in Extensions abgehandelt.

    generierte TableAdapter schmeiss ich immer gleich wieder raus aussm Dataset-Designer.

    Form-übergreifendes Databinding ist hier abgehandelt: Daten laden, speichern, verarbeiten - einfachste Variante
    Da muss jedes Form seine Dataset-Instanz registrieren, dann werden alle BindingSources auf dasselbe globale Dataset umgestellt.
    Sodass wenn das MainForm speichert sind die Änderungen aller Forms gespeichert.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()