Datatable über Checkedlistbox mit Datatable verbinden

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

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von fwler.

    Datatable über Checkedlistbox mit Datatable verbinden

    Guten Tag.

    Ich bräuchte mal eure Unterstützung.

    Ich hab in meiner Anwendung ein Dataset hinzugefügt, welches ich mit zwei Datatables bestückt habe.
    Beide Tabellen besitzen jeweils einen Primärschlüssel welcher eine fortlaufende Zahl ist.
    Tabelle-1 besitzt zusätzlich zwei String-Spalten (Vorname & Nachname) und eine Spalte mit den Typ “boolean“, welche entscheidet ob diese Tabellenreihe sichtbar sein soll oder nicht.

    Tabelle-2 besitzt unter anderem zusätzlich zum Primärschlüssel eine Spalte (Teilnehmer) mit den Typ String.

    Jeder Tabelle wird jeweils über ein Formular befüllt.
    Das Formular für Tabelle-2 besitzt eine Checkedlistbox, in welcher der Vor- und Nachname für jede sichtbare Reihe von Tabelle-1 steht.

    Bisher kein Problem.

    Nun möchte ich jedoch, dass die Teilnehmer, welche in der Checkedlistbox ausgewählt wurden, in Tabelle-2 in die Zelle der Spalte “Teilnehmer“ abgespeichert werden.

    Der Weg, dass der Index der ausgewählten Elemente gleich dem Index der Reihen der Tabelle-1 sind, fällt leider (meiner Meinung nach) flach, weil in der Checkedlistbox nicht alle Reihen der Tabelle-1 angezeigt werden. (Siehe Spalte boolean)


    Ich hoffe ich versteht was ich meine.

    Mir freundlichen Grüßen
    Fwler
    Thema Datenmodellierung (mein Lieblings- :) )
    Zunächstmal scheint die Aufgabe unvollständig beschrieben. - Teilnehmen woran? - muss unbedingt geklärt sein.
    Etwa bei Massenerschießungen kann jede Person nur an genau einer Veranstaltung teilnehmen.
    Hingegen bei Wettrennen kann jede Person an mehreren teilnehmen.

    Oder ist prinzipiell für alle, und für die ganze Anwendung nur ein einziges Veranstaltung vorgesehen (zB Auferstehung am jüngsten Tage)?

    Das muss geklärt sein, sonst bildet sich ein unzutreffendes Datenmodell heraus, und darauf aufbauend kann prinzipiell keine adäquate Oberfläche entworfen werden.
    (Eine CheckedListbox ist dabei übrigens sehr suboptimal, weil unterstützt Databinding nur sehr unzureichend.)

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

    Ok. Dann beschreibe ich mal mein komplettes Vorhaben:

    Ich möchte mit den Programm für unseren Verein eine Statistik führen. Und zwar möchte ich per Formular die Mitglieder im Programm hinterlegen. Durch ein weiteres Formular möchte ich bei einer Veranstaltung neben Datum und Dauer auch mit angeben, welche Mitglieder anwesend waren. Das heißt es gibt immer wieder eine Veranstaltung an der jedes Mitglied teilnehmen kann/soll.

    Zudem möchte ich die Möglichkeit haben nachträglich die Daten, sowohl der Mitgliederliste als auch der Veranstaltungsliste, zu ändern.

    Anschließend würde ich eben noch gerne eine Übersicht erstellen aus der man herauslesen kann wie oft wer anwesend war.

    Edit: wichtig ist mir zusätzlich, dass wenn sich zum Beispiel ein Name ändert, dass der Name sich auch bei allen Veranstaltungen anpasst, bei denen das Mitglied teilgenommen hat.
    Gruß fwler

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

    Ok, dann muss dein Datenmodell so aussehen:


    Anbei auch eine kl. Anwendung dazu, die deine Anforderungen prinzipiell erfüllt.


    Die grosse Herausforderung ist nun, zu lernen, wies gemacht ist - Täte dich das ühaupt interessieren?
    Dateien
    • TurnVerein01.zip

      (26,36 kB, 115 mal heruntergeladen, zuletzt: )

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

    Vielen Dank für die Bilder, aber auch für die Anwendung im Anhang.
    Ich glaube, ich weiß jetzt wie ich vorgehen muss und vor allem wo mein Fehler war. Daher werde ich mich dank deiner Hilfe daran weiter versuchen.

    Wie gesagt, hast mir ein extremes Stück weiter geholfen! :)
    Ich sehe es (vorerst) mal als erledigt.

    Gruß
    fwler