Guten morgen.
Ich hab da ein Problem mit der Darstellung von Relationen im DataGrid.
2 Tabellen:
Ort -> [ID, Ortname]
Name -> [ID, Name, OrtID]
Wie zu sehen hab ich im Namen den Fremdschlüssel OrtID der die ID von der Tabelle Ort enthällt.
Jetzt hab ich ein DataSet, in das ich beide Tabellen geladen hab (Datenbindung im Eigenschaftsfenster). Jetzt möchte ich ein Relation erstellen.
Ich weis aber nicht welche denn nun die Parent- und welche die ChildTabelle ist. Und wie schaffe ich es die Relation dann im DataGrid anzuzeigen? also das DataGrid soll mir dann nur noch ID (von Name), Name und Ort ausgeben.
Ich danke euch
Hi,
das musst du als Programmierer wissen was deine Master oder Child Tabelle ist. Wenn du Relationen im DataSet herstellst, dann machst du das ja wie folgt:
DataRelation rel = new DataRelation( "NameDerRelation",
ds.Tables[0].Columns["id"], ds.Tables[0].Columns["id"] );
ds.Relations.Add( rel );
Der erste Parameter im Konstruktor der DataRelation ist der Name über den die die Relation im DataSet ansprechen kannst.
Der zweite Parameter ist die Spalte der Master Tabelle und der letzte Parameter ist die Spalter der Child Tabelle.
Nachher kannst du z.B. über die Eigenschaft ChildTable der Relation die Daten ziehen.
Hier mal ein paar Links:
http://www.devtrain.de/artikel_759.aspx
http://www.microsoft.com/germany/msdn/library/net/aspnet/HierarchischeDatenbindungInASPNET.mspx
Mit freundlichen Grüßen
René Paschold
.NET Developer / Trainer / Speaker / Author /
Projectleader / Software-Architect
.blog http://www.rene-paschold.de/
.business http://www.smarthouse.de/