[C#] Many-to-many relatie onderhouden in 1 scherm

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • majornono
  • Registratie: Juni 2002
  • Laatst online: 10-03-2023
Ik ben bezig met een applicatie waar op 1 scherm een complete koppeltabel tussen twee andere tabellen moet worden onderhouden. Bijvoorbeeld: Er is een tabel auteurs en een tabel boeken. In de koppeling tussen auteurs & boeken wil ik bijvoorbeeld onderhouden hoe veel uur de auteur aan het boek gewerkt heeft.

In de tabel auteurs heb ik 2 schrijvers("John Doe", "Jane Doe") en in de tabel boeken heb ik 2 boeken ("C# bible", ".Net databinding").
Het scherm moet er dan als volgt uit zien:

code:
1
2
3
4
5
6
7
8
9
John Doe

Boek              #uur
C# Bible          <dropdownlist>

Jane Doe

Boek              #uur
.Net databinding  <dropdownlist>


In eerste instantie had ik dit scherm gemaakt door de auteurs op te halen uit de database met Linq & dynamisch controls (ControlAuthor) toe te voegen voor iedere auteur. In deze control zat dan weer een nieuwe control (ControlBook) waarin iedere regel voor ieder boek getoond werd, die ik ook met Linq uit de database haalde.

Ik ben niet tevreden over deze manier. Ik vroeg me af of ik dit niet beter kan oplossen met UserControls die gebruik maken van databinding. Ik ben hier echter nog niet heel erg thuis in, dus mijn vraag is: Kan ik dit scherm niet beter maken door gebruik te maken van databinding en custom usercontrols en zo ja, hoe precies?
Ik ben aan het stoeien met de Walkthroughs van Microsoft voor het maken van usercontrols die eenvoudige en complexe databinding ondersteunen, maar daar kwam ik niet uit. Ik vraag me met name af hoe ik de herhaling per auteur en per boek zou moeten implementeren.

Problem Exists Between Chair And Keyboard


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Heb je het hier over ASP.NET of over WinForms? Dat maakt namenlijk nogal verschil voor het DataBinden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • majornono
  • Registratie: Juni 2002
  • Laatst online: 10-03-2023
Inderdaad, dat verschilt nogal. Als het in Web Forms was geweest dan had ik een geneste repeater gehad en dan was ik klaar geweest. Maar ik ben bezig met een Windows Forms Application.

Misschien nog ter info: De koppeltabel is altijd een cross join tussen de twee andere tabellen, dus ik moet er voor zorgen dat de tabel altijd alle records bevat.

Problem Exists Between Chair And Keyboard


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 20:04
Je zou de keuze van de auteur met een simpele navigator of datagrid kunnen doen bv in de bovenste helft van het scherm en de keuze van de boeken/uren in een datagrid in de onderste helft; je hebt dan echter geen compleet overzicht in een scherm. ( Dat zou bij veel auteurs/boeken vroeg of laat toch problemen opleveren )

Een andere mogelijkheid is om de keuze van boeken/uren in een child window te doen...'t blijft een beetje wurgen met veel op veel relaties imho

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • majornono
  • Registratie: Juni 2002
  • Laatst online: 10-03-2023
het ontwerp voor de UI komt niet van mijn hand, daar kan ik ook niets aan veranderen. Het is belangrijk dat een gebruiker in 1 overzicht de uren kan zien & onderhouden.
De enige input die de gebruiker kan geven is een keuze maken in de dropdown voor het aantal uur.

Het voorbeeld wat ik heb gegeven is fictief: in de "real world" situatie zal het aantal auteurs beperkt blijven tot 2 of 3, het aantal boeken tot maximaal 10 schat ik.

Problem Exists Between Chair And Keyboard