2009-06-04 15 views
0

J'ai besoin de créer une grille de winforms avec 3 niveaux, en utilisant infragistics ultragrid.Problème de hiérarchie de grille Ultragrid/Winforms

niveau 1 a 2 colonnes (fixe)

---> niveau 2 a 3 colonnes (fixe)

--------> Level 3 a aucun infini de colonnes (Dynamic en fonction du type d'objet de niveau 2)

exemple

niveau 1 item 1 -> 3 colonnes (fixe)

niveau 1 point 1 -> niveau 2 point 1 -> 3 colonnes (Fixe)

Niveau 1 Point 1 -> Niveau 2 Point 1 -> Niveau 3 Item 1 -> 3 colonnes (dynamiques)

Niveau 1 Item 1 -> Niveau 2 Elément 2 -> 3 colonnes (fixe)

Niveau 1 point 1 -> Niveau 2 point 2 -> Niveau 3 point 1 -> 6 colonnes (dynamique)

Comment cela peut-il être réalisé sur la grille, en particulier UltraGrid?

J'ai un mal de tête en ce moment

Vive

Répondre

1

UltraGrid utilise le concept de « bandes » pour stocker des données hiérarchiques. Votre niveau 1 est un groupe, votre niveau 2 en est un autre.

Voici où cela devient difficile: votre niveau 3 est en fait plusieurs bandes en fonction du nombre de types dynamiques que vous avez des éléments de niveau 2.

Si vous utilisez un DataSet/DataTable comme source de données, chaque DataTable correspond à une bande, cela est tout simplement:

  • 1 DataTable pour le niveau 1
  • 1 DataTable pour le niveau 2 (avec un DataRelation retour à DataTable 1)
  • N DataTables pour le niveau 3, chacun avec ses propres colonnes, et ayant chacun une DataRelation retour à DataTable 2

HTH.

Questions connexes