Le moyen le plus propre d'implémenter des entrées réductibles dans une table générée via asp: Repeater?

StackOverflow https://stackoverflow.com/questions/77082

  •  09-06-2019
  •  | 
  •  

Question

Avant que quiconque ne propose de supprimer complètement les balises de table, je ne fais que modifier cette partie d'un très grand système. Il ne serait donc pas sage que je modifie la structure de la table (l'application est remplie de tables similaires).

Il s'agit d'une application Web en C # .NET - les données proviennent d'un service Web et sont affichées à l'écran dans un tableau. Les lignes de la table sont générées avec asp: Repeaters, de sorte que les lignes alternent bien entre colonnes. La table contenait précédemment un élément de données par ligne. Maintenant, essentiellement, la table a des sous-en-têtes ... La première ligne est la date, la seconde ligne montre une ligne de données, et toutes les lignes suivantes sont des lignes de données jusqu'à ce que les données d'une nouvelle date soient entrées, auquel cas sera une autre ligne de sous-en-tête.

Au début, je pensais pouvoir tricher un peu et le faire assez facilement pour conserver la structure de répéteur actuelle. Je dois juste alimenter la chaîne vide dans certaines cellules afin qu’aucune donnée n’y apparaisse. Maintenant, cependant, nous envisageons l’un de ces +/- réducteurs en regard de chaque date, afin qu’ils puissent réduire toutes les données. Mon esprit est immédiatement allé cacher des lignes lorsqu'un bouton est enfoncé ... mais je ne sais pas comment cacher des lignes du code précédent sauf si la ligne a un identifiant unique, et je ne suis pas sûr que vous puissiez le faire avec des répéteurs .

J'espère avoir bien exprimé le problème. Je suis sûr que je trouverai un moyen TBH mais je viens de voir ce site sur Slashdot et je pensais le faire tourner:)

Était-ce utile?

La solution

Lorsque vous créez la ligne dans l'événement databinding, vous pouvez ajouter un identifiant unique en indiquant, par exemple, l'id du champ de données ou tout autre élément que vous utilisez pour le rendre unique.

Vous pouvez ensuite utiliser une méthode côté client pour développer la réduction si vous souhaitez la remplir au début avec des données, en basculant le paramètre style.display en Javascript pour l'élément de ligne de la table.

Autres conseils

encapsulez simplement le contenu du modèle d'élément dans un asp: Panel, puis vous avez un identifiant unique. Ajoutez ensuite du jquery pour du piment;)

modifier : vous venez de remarquer que vous utilisez un tableau. mettre l'identifiant sur la ligne. puis basculez-le.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top