Lier les 5 éléments dans chaque ligne de la répétition
J'ai un ensemble d'objets provenant de la base de données. Leur nombre peut varier. J'ai lié dans un répéteur. Maintenant, mon exemple suivant va vous expliquer ce que je veux:
J'ai 11 objets provenant de la base de données, je veux qu'ils soient regroupés en termes de 5 pièces par ligne.
- 1re rangée: 5 éléments.
- 2e rangée: 5 éléments.
- 3e rangée: 1 point.
Actuellement, je suis juste en les liant dans un répéteur. Comment puis-je faire cela?
pourquoi n'utilisez-vous pas la vue liste avec les colonnes définies?
Comment voulez-vous que ces éléments soient-ils regroupés? voulez-vous dire
Pouvez-vous fournir un exemple
Je veux juste qu'ils apparaissent dans les groupes de 5 seulement. Pas de groupe, par type.
Toutes les réponses sont utiles. Mais j'ai accepté celle utile pour moi. +1 à tous les autres.
Comment voulez-vous que ces éléments soient-ils regroupés? voulez-vous dire
GROUP
eux BY
une colonne spécifique? et voulez-vous de les enchaîner?Pouvez-vous fournir un exemple
Je veux juste qu'ils apparaissent dans les groupes de 5 seulement. Pas de groupe, par type.
Toutes les réponses sont utiles. Mais j'ai accepté celle utile pour moi. +1 à tous les autres.
OriginalL'auteur user1509 | 2012-07-04
Vous devez vous connecter pour publier un commentaire.
Oui. Il est possible:
Il produit les résultats suivants pour la séquence de nombres:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
OriginalL'auteur Marian Ban
si vous pouvez utiliser la Liste, alors vous pouvez utiliser GroupItemCount . quelque chose comme ceci MSDN Exemple
OriginalL'auteur Ravi Gadag
Si vous voulez coller avec un Répéteur, je pense à deux approches.
Tout d'abord, vous pourriez rester avec une liste à plat des objets et faire de la répétition d'insérer une "nouvelle ligne" après chaque 5ème élément. Vous devriez être en mesure de le faire dans le
<ItemTemplate>
avec un bloc commequi honnêtement n'est pas très agréable.
Sinon, vous pouvez utiliser MoreLINQ's Lot méthode par lots de vos articles en
IEnumerable
s de 5, puis utilisez deux imbriquée répéteurs pour les rendre. Définir le répéteur externe pour envelopper l'intérieur de répétiteur dans<div>
étiquettes et définissez l'intérieur repeaterDataSource='<%# Container.DataItem %>'
. Il devrait en résulter beaucoup plus propre balisage.OriginalL'auteur Rawling
Vous pouvez essayer ci-dessous, j'ai tort, dit ListView, en fait je voulais dire DataList
OriginalL'auteur Furqan Hameedi
Vous pouvez utiliser imbriquée contrôles de Données (j'.e
Repeater
) et aussi de gérer leOnItemDataBound
événement à se lier à l'intérieur d'un Répétiteur.Exemple de composant Source de Données:
De balisage (.aspx)
Code-behind
OriginalL'auteur adatapost
OriginalL'auteur Kiran