2009-12-08 6 views
1

Comment implémenter gridview imbriqué jusqu'à 4 niveaux?Meilleure pratique pour implémenter GridView imbriqué jusqu'à 4 niveaux?

+ Level 1 
    + Level 2A 
     + Level 3A 
     + Level 3B 
      Level 4 
    + Level 2B 
+0

En lisant le titre de cette question, je me suis immédiatement dit que c'était la meilleure pratique pour vous tirer une balle dans le visage ...? – cjk

+0

Y aura-t-il toujours exactement 4 niveaux ou en auront-ils moins? –

+0

Il peut être moins mais la profondeur maximale sera 4. – Ahmed

Répondre

-1

Personnellement, je voudrais savoir si un Gridview est le moyen le plus intuitif d'afficher ces données imbriquées - mais si vous n'avez pas d'autre choix et ne vous dérange pas de payer pour un composant tiers, je recommande au telerik's RAD Grid qui prend en charge les tables imbriquées très parfaitement.

Regardez en particulier this demo. This demo explique également la structure de liaison de données.

+0

Nous devons faire cela sans avoir besoin de composants tiers. – Ahmed

+0

Je recommande fortement d'utiliser Telerik RadGrid. – Ahmed

+0

Les commandes Telerik Rad sont extrêmement lourdes même en mode léger. Un coup de pied supplémentaire à l'arrière - Rad Controls ne supporte pas JQuery, AT ALL. – snowYetis

0

J'ai eu un pari avec un collègue que je pourrais écrire du code en utilisant contrôle ASP.NET pour afficher les données imbriquées (en utilisant un répéteur ou GridView) beaucoup plus facile qu'il pourrait écrire le même XSLT usign de code. Malheureusement pour moi, j'avais tort et l'option XSLT s'est avérée beaucoup plus flexible et évolutive.

Donc, tout en ne répondant pas à votre question, je suggère que vous envisagiez d'utiliser XSLT pour fournir le résultat. Si je peux trouver le code, je vais mettre à jour cette réponse.

0

Avec une approche comme celle-ci, les performances vont devenir un problème. Certainement pas une bonne pratique.

0

J'ai récemment fait face au même problème et développé ma propre implémentation avec Gridviews, Ajax et jQuery. Il ne charge que ce qui est nécessaire quand c'est nécessaire. J'ai écrit an article over on my blog expliquant étape par étape comment l'implémenter et c'est en fait assez simple.