J'ai une question de conception. J'ai une structure de répéteur imbriquée qui a 4 niveaux de profondeur. Les répéteurs affichent des données qui sont considérées comme "Sections 1-4". Ces sections sont toutes liées dans une base de données à une description de travail.Profondeur de traitement des répéteurs intégrés
Je souhaite ajouter un bouton d'édition à chaque élément du niveau le plus profond des répéteurs. Cependant, les profondeurs du répéteur ne sont pas toutes équivalentes. Une description de travail peut avoir plusieurs entrées pour chaque section (1-4), d'où la nécessité de répéteurs. Le crochet cependant, comme indiqué précédemment, est qu'une entrée donnée de sections peut être 1-3 ... puis 1-4 ... peut-être même juste la première section.
Une condition préalable supplémentaire qui rend cette tâche difficile est qu'elle a été conçue pour ne se lier qu'à un niveau à la fois. Ensuite, ils cliquent sur un bouton img vers le bas qui lie le jeu de données suivant au répéteur interne. Donc, cela rend plus difficile que de simplement compter le nombre de fois que vous vous liez à lui. Donc, ma question est de savoir quelle construction de programmation pourrais-je employer qui serait relativement rapide pour déduire la profondeur d'une entrée donnée? De toute évidence, une solution qui ne nécessiterait pas une quantité supplémentaire de temps serait étonnante compte tenu de ma date d'échéance.
Voici la structure de la table. Gardez à l'esprit que ce n'est pas modifiable. C'était avant plus de temps.
Table FK PK
Section1 | JobID | Sect1ID |
Section2 | Sect1ID | Sect2ID |
Section3 | Sect2ID | Sect3ID |
Section4 | Sect3ID | Sect4ID |
Structure Repeater
<Repeater 1>
<Section 1 Data>
<Repeater 2>
<Section 2 Data>
<Repeater 3>
<Section 3 Data>
<Repeater 4>
<Section 4 Data>
</Repeater>
</Repeater>
</Repeater>
</Repeater>
Certaines de mes idées.
Créez une procédure stockée qui calcule la profondeur d'une entrée. Passez dans SectID et renvoie la profondeur par rapport au SectID. J'ai déjà une structure en place pour identifier chaque élément répéteur par ID de section via un label asp: caché. Maintenir un dictionnaire pour mapper une section à sa profondeur. Utilisez la procédure stockée. Cependant, seulement une entrée lorsqu'un objet est foré. De cette façon, il est léger, et je ne fais que suivre les éléments qui intéressent l'utilisateur.
Chaque fois que l'utilisateur fore vers le bas, effectuez une vérification pour voir si les profondeurs sont égales ... si elles sont, puis afficher le modifier img, sinon, percez et incrémentez la valeur dans le dictionnaire.
d'autres idées ou problèmes qu'ils prévoient avec ma solution?