Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Master-Detail-Detail Relation mit DataRelations erstellen


accumbare - Mi 24.02.10 10:51
Titel: Master-Detail-Detail Relation mit DataRelations erstellen
Hi!

Ich habe 4 Tabellen, die über Foreign Keys referenziert sind. Diese Tabellen lade ich in ein DataSet und möchte die Relationen zwischen den Tabellen mittels DataRelations nachbilden

Das Datenbankschema sieht so aus:
ius_impeti (id, text1, tex2, tex3, etc....)
ius_stati (id, text)
ius_engAreas(id, text)

ius_engAreas_Imp_Rel(ius_impeti.id, ius_engAreas.id, ius_stati.id)



C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
DataRelation dr_engAreas_imp = new DataRelation("dr_engAreas_imp"
                                                     ds.Tables["ius_impeti"].Columns["id"], 
                                                     ds.Tables["ius_engareas_imp_rel"].Columns["imp_id"]
                                                    );

DataRelation dr_engAreas_descr = new DataRelation("dr_engAreas_descr",
                                                   ds.Tables["ius_engareas_imp_rel"].Columns["eng_area_id"], 
                                                   ds.Tables["ius_engareas"].Columns["id"]
                                                  );

DataRelation dr_substati_descr = new DataRelation("dr_substati_descr"
                                                   ds.Tables["ius_engareas_imp_rel"].Columns["substatus_id"],
                                                   ds.Tables["ius_stati"].Columns["id"]
                                                 );

ds.Relations.Add(dr_engAreas_imp);
ds.Relations.Add(dr_substati_descr);
ds.Relations.Add(dr_engAreas_descr);


Ziel ist es, in 3 DataGridViews die Tabellen darzustellen:

DGV1: ius_impeti
DGV2: ius_engAreas
DGV3: ius_stati

Wobei DGV2 und DGV3 Daten abhängig von der aktuellen Zeile im DGV1 anzeigen sollen.....

Besten Dank für die Unterstützung


JüTho - Mi 24.02.10 12:16

Hallo und :welcome:

Auch hier gibt es die Möglichkeit, Code als solchen zu kennzeichnen. Öffne deinen Beitrag mit dem Schere-Button, Code-Bereich markieren, "Bereiche" öffnen, in der ComboBox C# auswählen, Plus-Button drücken, "Absenden". Das liest sich erheblich besser.

Zur Information für potenzielle Helfer: Dies ist die Fortsetzung der Diskussion unter ComboBox Spalte in DatagridView hinzufügen [http://www.mycsharp.de/wbb2/thread.php?threadid=81900].

Jürgen