DataGridView Combobox - tiefer in FK's graben ohne Expressions zu verwenden

  • VB.NET
  • .NET (FX) 4.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    DataGridView Combobox - tiefer in FK's graben ohne Expressions zu verwenden

    Hallo zusammen.

    Ich hab' grad ein Problem mit einem DataGridView - ich möchte mir gerne Werte aus der Tabelle Rehamittel in der Ansicht
    von RehaDokument anzeigen lassen, ohne in der Zwischentabelle RehamittelSn Expressions von der 1. Tabelle setzen zu müssen.

    Expressions haben den Nachteil, dass die gerne mal verloren gehen wenn man im DataSet-Designer etwas gröber zur Sache geht.
    Ist das generell über die ComboBox-Einstellung vom DataGridView möglich oder muss ich das per Code in eine ungebundene Spalte
    eintragen?


    Die markierten Spalten brauche ich zur Anzeige im DataGridView, welches als Datenquelle RehaDokument hat

    *Topic verschoben*
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ich gehe mal davon aus, dass die Zwischentabelle auch gebraucht wird, richtig? Laut dem Screenshot hat die SN-Tabelle aber nur den Mehrwert SN, was immer das auch ist. (Seriennummer?). Da ist dann aber für mich die Frage: Kann ein Rehamittel mit einer PZN mehrere SNs haben? Wenn ja, welche SN soll angezeigt werden, wenn die Rehamittel im Dokument direkt angezeigt werden? Ggf. Ist es ja auch möglich, dass die Tabellenrelation anders gestaltet wird: Rehamittel als Subtabelle von Rehadokument?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    ja, stimmt - wennich das Datenmodell angucke ists mir fragwürdig.
    Ich reime mir den Sinn davon so zusammen, dass es RehaDinge gibt, quasi Artikel-Beschreibungen: Rehamittel.
    Dann gibts aber auch Instanzen davon - also wo in welchem Lager ist welche Flasche Hirnspüli, und wer hat sie da grade weggenommen? : RehamittelSn kann solch identifizieren.

    Aber ist es richtig, dasses zu jeder einzelnen Flasche Hirnspüli ein eigenes Dokument geben muss?
    Bzw gar mehrere?
    In meiner Welt dokumentiert ein Dokument die Art eines Objekts (quasi die "Klasse") - nicht jedes einzelne Objekt.
    Ist natürlich alles blindwütig zusammengereimt, aber vom Bauchgefühl müsste Dokument mit Rehamittel verknüpft sein, nicht mit RehamittelSn.

    Und die nächste Diskussion wäre, ob übergeordnet oder untergeordnet.

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

    Argh, balleriballera. Ich hab die Hierarchie genau falschrum interpretiert. :S
    Das Rehamittel steht ja ganz oben. Es hat mehrere SN-Pakete. Und jedes SN-Paket hat mehrere Dokumente. Warum auch immer.
    Und im Dokumenten-DGV sollen nun alle Dokumente angezeigt werden, unabhängig vom SN-Paket und vom Rehamittel? Also keine Parent-Child-View, sondern ein Parent-unabhängiges Doku-DGV?
    Dann wohl doch nur mit Code wie z.B.:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. For i = 0 To DataGridView.Rows.Count - 1
    3. DataGridView.Item(Zielindex, i).Value = DirectCast(DirectCast(RehaDokumentBindingSource(i), Data.DataRowView).Row, DeinTds.RehaDokumentRow).RehamittelSNRow.RehamittelRow.PZN
    4. Next
    5. End Sub
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @VaporiZed @ErfinderDesRades

    Ihr könnt euch das so vorstellen:

    Rehamittel = Artikel (in unserem Fall eine medizinische Pumpe)
    SN = Seriennummer (wäre vergleichbar mit Charge - es gibt für sehr viele Artikel (z.B. Lebensmittel) Chargen)
    Dokument = Es gibt für jede Seriennummer eines Rehamittels Prüfprotokolle

    Ich könnte SN auch zu Rehamittel direkt packen, dann wären die Artikel aber mehrfach vorkommend (finde ich falsch). Außerdem
    möchte ich auch später mal eine SN anklicken und per Parent-Child-View sehen, was da es da für Dokumente gibt.

    Ich find's schade, dass man zwar in endlos vielen untergeordneten, aber nicht in endlos vielen übergeordneten Tables rumwühlen kann.
    Dann also doch per Code - muss ich mal schauen wie "flott" das geht, denn da kommen irgendwann schon einige tausende Einträge zusammen.

    Ist nur noch die Frage ob ich dann nicht doch sinnvollerweise expression-Columns reinmache
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:
    Jo - das WinForms-Bindungs-System hat seine Beschränkungen (selbst das von WPF hätte man besser machen können).
    Ich hab neulich was gebastelt, wo ich zur Laufzeit Expression-Columns an bestehende DataColumns dran-generiere und eine DGV-Column "umwidme".

    Nur so als Beispiel für verrückte Sachen - in deim Fall wäre ein Behavior denkbar, was ins Cell_Formatting eingreift.
    Wenn du sowas öfter brauchst, und wenn es Readonly sein soll, und diese Spalte nicht sortierbar.