Mit ComboBox Labels aus Datenbank füllen

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

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von dkartsberlin.

    Mit ComboBox Labels aus Datenbank füllen

    Schönen guten Abend VB'ler,

    bis jetzt war ich immer stiller Mitleser und habe fast immer Ansätze zur Lösung meiner Probleme gefunden.
    Jetzt allerdings trete ich permanent auf einer Stelle.

    Ich habe eine .mdf Datenbank in der eine Tabelle mit Daten hinterlegt ist. In einer ComboBox lasse ich mir die Einträge einer x-beliebigen Spalte anzeigen. Das funktioniert.
    Dazu habe ich eine Vielzahl an Labels, die anhand des ComboBox.SelectedIndex die restlichen Daten in der Zeile anzeigen sollen.

    Beispiel:
    Ich habe in der Datenbank eine Spalte namens "Mitarbeiter" die in der ComboBox aufgelistet werden.
    Wähle ich nun bspw. Mitarbeiter 1 aus, sollen mir seine Daten in den Labels angezeigt werden.

    Das funktioniert jedoch nur für den Mitarbeiter 1, wähle ich Mitarbeiter 2 ändern sich die Labels nicht.
    Wie kann ich den Labels mitteilen das Sie ihre Daten aus der Datenbank anhand der ComboBox-Auswahl aktualisieren? (Den Handler habe ich bereits.)

    Ich bedanke mich bei euch im Voraus.
    Grüße DKArts. :)
    Willkommen im Forum. :thumbup:

    dkartsberlin schrieb:

    den Labels
    Wenn Du viele Daten anzeigen willst, nimm dafür ein DataGridView, dem kannst Du die DataTable als DataSource zuweisen und feddich.
    Dein Problem kannst Du im SelectedIndexChanged-Event der Combobox bearbeiten, mach Dir eine allgemeine Prozedur, die anhand des Keywords als Parameter die richtigen Daten anzeigt. Ist dieses (beim Start) leer, nimm den 1. Datensatz.
    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!
    Hallo @RodFromGermany,

    vielen Dank für deine Antwort.
    Das DataGridView passt leider nicht für mich, da ich mit den Labels jeweils zwei Bereiche erzeuge.
    Links 5 Labels und rechts 5 Labels.
    Dieses Event habe ich bereits, jedoch habe ich keine Ahnung wie ich das Keyword setze.
    Ohne Code mein Gedanke:
    Ändere alle Labels in die Werte in der Zeile anhand von Auswahl der ersten Spalte in der Tabelle.

    Grüße.

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

    dkartsberlin schrieb:

    anhand von Auswahl der ersten Spalte in der Tabelle
    Du hast eine Zeilennummer bzw. den Inhalt der Tabelle in der 1. Spalte der Tabelle.
    Was steht denn in den anderen Spalten derselben Tabelle?
    Wie füllst Du initial Deine Labels?
    Ersetzr den Index 0 für Zeile durch den Index der aktuellen Zeile.
    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!

    dkartsberlin schrieb:

    Ändere alle Labels in die Werte in der Zeile anhand von Auswahl der ersten Spalte in der Tabelle.
    Solch bezeichne ich als "DetailView", und ist tatsächlich ein von Tabellenartiger Präsentation verschiedener View.

    Nur ist deine Vorgehensweise von Beginn an unzureichend, du hast nämlich gar kein Datenmodell im Client.

    Hättest du ein Datenmodell, und würdest dieses befüllen (anstatt die Combobox zu befüllen), so könntest du die Combo daran binden, und ebenfalls alle Labels daran binden, und fertig wäre der Detailview.
    guggemol vier Views-Videos das entsprechende Video - einfach, dass du verstehst, was ich meine.
    Ach - im Film4 ist ja nur das Binden der Labels gezeigt, eine Combo wird ja erst in Film10 ausdrücklich gebunden.
    Aber vom Datenfluss her ist das piepe, ob ein Dgv gebunden ist (wie in film4) oder eine Combo (film10).
    @'ErfinderDesRades
    Vielen Dank für deine Antwort!
    Deine Videos sind wirklich super, danke das du die gemacht hast! Ich habe noch keine Zeit gehabt, das umzusetzen aber ich verstehe worauf es hinausläuft.
    Jedoch habe ich bereits ein Datenmodell erstellt gehabt, habe mich nur verannt und dachte, dass meine Bindings richtig gesetzt waren.

    @' RodFromGermany
    In Spalte 1 ist die ID, Spalte 2 ist der Name, Spalte 3 die Urlaubstage usw. bishin zur Spalte 10.