| |
VB.NET - Ein- und UmsteigerDatagridview Comboboxen über Filter miteinander verknüpfen | | | Autor: Vaubehnet | Datum: 13.09.19 11:10 |
| Hallo,
Thema:
- Access-Datenbank mit einigen projektbezogenen statistischen Daten (<1000 Werte)
- Datagridview mit Bindingsource
- Fragestellung: von einander abhängige Comboboxen in der Datagridview
Ich habe eine Datagridview, die über eine Accessdatenbank per Bindingsource eine Wertetabelle einbindet. Zwei Hilfstabellen sollen helfen, die Wertetabelle strukturiert zu füllen.
Diese Tabellen sind voneinander abhängig und hier habe ich ein Problem.
Zunächst, damit es vielleicht deutlicher wird, hier die (vereinfachte) Tabellenstruktur und ein paar Beispieldaten (exemplarisch).
Die (vereinfachte) Datenstruktur sieht also so aus:
Hilfstabelle 1: tb_Merkmal
Felder:
1. m_ID (Autowert, Schlüsselfeld)
2. m_Name (Text, Name des Merkmals)
Hilfstabelle 2: tb_auspraegung
Felder:
1. a_ID (Autowert, Schlüsselfeld)
2. a_name (Text, Name der Ausprägung)
3. m_ID (Fremdschlüssel aus tb_merkmal)
Beispieldaten 1: z.B. Ampel und Ampelfarben
tb_merkmal: Ampel m_ID=1, m_Name="Ampel"
tb_auspraegung: Rot, Gelb, Grün (für Rot also z.B. a_ID=1, a_name="Rot") etc.
Beispieldaten 2: z.B. Geschlecht
tb_merkmal: Geschlecht
tb_auspraegung: weiblich, männlich, divers
Wertetabelle: tb_wert (Die Wertetabelle gehört zu einer übergeordneten Tabelle, aber das führt jetzt zu weit)
Felder:
w_ID (Autowert, Schlüsselfeld)
m_ID (Fremdschlüssel aus Hilfstabelle tb_merkmal)
a_ID (Fremdschlüssel aus Hilfstabelle tb_auspraegung)
m_Wert (double)
In die Wertetabelle soll nun zu dem jeweils beobachteten Untersuchungsobjekt das Merkmal eingetragen werden und von diesem speziellen Merkmal die Ausprägung.
Meine Frage:
Ich bekomme es hin, in der Datagridview eine Combobox anzulegen, dieser eine eigene Bindingsource zuzuweisen und hier die Werte entweder aus der Tabelle tb_merkmal oder der Tabelle tb_auspraegung einzupflegen.
Was ich nicht hinbekomme:
Wenn ich als Merkmal in der ersten Combobox "Ampel" auswähle, soll die zweite Combobox nur die Werte "rot, gelb, grün" anzeigen.
Wähle ich aber in einer neuen Zeile z.B. "Geschlecht", dann soll die zweite Combobox nur "weiblich, männlich, divers" anbieten.
Ich vermute, die Lösung liegt irgendwo in dem Ereignis:
cmbMerkmal_SelectedIndexChanged Und dann muss die Bindingsource für die zweite Combobox angestoßen werden
'Pseudocode für Aktualisierung der zweiten Combobox
xyzBindingSource.Filter = String.Empty
xyzBindingSource.Filter = "[m_ID] = " & Irgendwie die ID der gerade _
aktualisierten Merkmal-Combobox... Die zweite Combox aktualisiert sich aber nicht.
Irgendetwas habe ich also übersehen.
Außerdem: wenn ich das Merkmal bereits ausgewählt habe und direkt in die Ausprägung gehe, muss vor der Anzeige der Combobox ja eine Aktualisierung der jetzt zur Auswahl stehenden Werte erfolgen.
Ich bin für jede Hilfe dankbar,
vaubehnet
---
Verwendete Programmversionen:
Windows 7 64 bit sowie Windows 10 Prof.
Visual Studio 13 Professional
Microsoft Prof. 2010 (= Version 14) | |
Re: Datagridview Comboboxen über Filter miteinander verknüpfen | | | Autor: effeff | Datum: 16.09.19 16:52 |
| Du willst versuchen, zwei DataTables an eine ComboBox zu binden. Das ist unsinnig.
Besser wäre es, anstelle von zwei Tabellen gleicher Bauart eine Tabelle mit Unterscheidungsmerkmalen zu benutzen.
Du hättest dann dann folgende Tabellen mit ein paar Daten:
Tabelle Merkmal:
ID, Merkmal
1, Ampel und Ampelfarben
2, Geschlecht
Tabelle Ausprägung:
ID, ID_Merkmal, Auspraegung
1, 1, rot
2, 1, gelb
3, 1, grün
4, 2, weiblich
5, 2, männlich
Wenn Du jetzt noch artig den Filter so setzt, dass ID_Merkmal und ID voneinander abhängig sind, solltest Du Dein Ziel bereits erreicht haben.
EALA FREYA FRESENA | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|