m:n Zuordnung darstellen mit DataSet und BindingSource

24/03/2009 - 10:43 von Christoph Rall | Report spam
Hallo ihr,

ich bin gerade um grübeln, wie das grundsàtzlich elegant zu lösen
wàre:

Angenommen, ich habe drei Tabellen:
1. Persson - Primary Key: PersonID
2. PersonGermiumZuordnung: - Primary Key: PersonID, GremiumID
3. Germium - Primary Key: GremiumIDD

Hmm - wie kann man das am Bildschirm darstellen?
1 Person kann in beliebig vielen Gremien sein und 1 Gremium kann von
beliebig vielen Personen besucht werden
=> Also m:n

Mit Master/Detail weiß ich nicht wie ich das im Dataset mit
BindingSourcen lösen soll (das bildet ja eigentlich nur 1:n ab), wie
würdet ihr das anpacken? Wie könnte man das elegant am Bildschirm
darstellen? Mit zwei DataGridViews? Aber wie müssen dann die
Relationen gesetzt werden, dass wenn ich z.B. ein Gremium anklicke,
kommen alle Personen, die da drin sind und wenn ich eine Person
anklicke, alle Gremien, wo sie drin ist...

Bin für jeden Hinweis dankbar,
Mit freundlichem Gruß,
Christoph Rall
 

Lesen sie die antworten

#1 Peter Fleischer
24/03/2009 - 18:25 | Warnen spam
"Christoph Rall" schrieb im Newsbeitrag
news:

ich bin gerade um grübeln, wie das grundsàtzlich elegant zu lösen wàre:

Angenommen, ich habe drei Tabellen:
1. Persson - Primary Key: PersonID
2. PersonGermiumZuordnung: - Primary Key: PersonID, GremiumID
3. Germium - Primary Key: GremiumIDD

Hmm - wie kann man das am Bildschirm darstellen?
1 Person kann in beliebig vielen Gremien sein und 1 Gremium kann von
beliebig vielen Personen besucht werden
=> Also m:n

Mit Master/Detail weiß ich nicht wie ich das im Dataset mit BindingSourcen
lösen soll (das bildet ja eigentlich nur 1:n ab), wie würdet ihr das
anpacken?



Hi Christoph,
zuerst solltest du dir eine Bedinetechnologie erarbeiten. Diese könnte etwa
so aussehen, wie das andere mit den Pfeilen von links nach rechts und
umgekehrt machen, z.B. in Office bei "Symbolleiste anpassen".

Wie könnte man das elegant am Bildschirm darstellen?



Wenn du es nicht mit den Pfeilen machen willst, bieten sich 2
CheckedListBoxes an. In beiden Boxes werden die beiden Mastertabellen
angezeigt. Mit den Hàkchen werden die Datensàtze aus der Verbindungstabelle
zum jeweiligen in der anderen Box aktuellen Datensatz angezeigt. Ein
Beispiel in VB.NET steht auf meiner Homepage unter
http://www.informtools.de/kb.aspx?id6.

Mit zwei DataGridViews?



Wie soll da die Bedientechnologie aussehen?

Aber wie müssen dann die Relationen gesetzt werden, dass
wenn ich z.B. ein Gremium anklicke, kommen alle Personen, die da drin sind
und wenn ich eine Person anklicke, alle Gremien, wo sie drin ist...



Das ist ja mit LinQ überheutp kein Problem. Mit jedem Datensatzwechsel wird
eine neue where-Bedingung im LinQ aktiv.

Bin für jeden Hinweis dankbar,



Wie gesagt: zuerst einmal die Bedientechnologie festlegen!

Viele Grüsse
Peter

Ähnliche fragen