Je gère un site Web ASP.Net 2.0 qui affiche les produits dans un GridView. Le client m'a demandé si je pouvais afficher un bouton "Ajouter au panier" tous les dix rangs. Je pouvais le faire en mettant le bouton dans sa propre colonne et en inversant la visibilité mais je me demandais si je pouvais injecter une nouvelle ligne après chaque 10 articles. Cela place le bouton sur une ligne qui lui est propre et n'occupe pas l'espace des colonnes lorsqu'il n'est pas visible. Des idées sur la façon de faire cela? TIAPuis-je insérer une ligne dans un GridView?
Répondre
Il est notoirement difficile d'insérer des lignes dans un GridView. Avez-vous pensé à utiliser un répéteur?
le balisage suivant:
<asp:Repeater id="repeater" runat="server">
<ItemTemplate>
<h1><%#Container.DataItem%></h1>
</ItemTemplate>
</asp:Repeater>
Vous pouvez utiliser le code-behind suivant pour insérer un contrôle personnalisé après selon les lignes que vous le souhaitez:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;
public partial class Default : Page
{
protected override void OnInit(EventArgs e)
{
this.repeater.ItemCreated += repeater_ItemCreated;
base.OnInit(e);
}
protected override void OnLoad(EventArgs e)
{
this.repeater.DataSource = new List<String>
{
"one", "two", "three", "four", "five", "six", "seven"
};
this.repeater.DataBind();
base.OnLoad(e);
}
void repeater_ItemCreated(Object sender, RepeaterItemEventArgs e)
{
if (this.repeater.Items.Count > 0
&& this.repeater.Items.Count % 3 == 0)
{
this.repeater.Controls.Add(new LiteralControl("<h4>hello world</h4>"));
}
}
}
Je ne pense pas qu'il y ait de toute façon à le faire directement avec un GridView (sans casser dans la source). Mais ce que vous pourriez faire serait d'utiliser du javascript pour injecter le code HTML du bouton dans le DOM de la page après le rendu de GridView.
Vous parcourez toutes les lignes de la table créée par le quadrillage puis, après chaque 10ème ligne, créez une nouvelle ligne (avec toutes les cellules ou une seule cellule colspan). Dans cette cellule, insérez le bouton avec l'onClick appelant votre routine javascript pour ajouter l'article au panier.
- 1. Comment insérer par programme une ligne dans un GridView?
- 2. Entity Framework, procédures stockées, ASP.NET GridView - Insérer une ligne vide
- 3. Faire une nouvelle ligne dans un GridView
- 4. Insérer une ligne de la grille dans datacontext
- 5. Insérer une ligne pour chaque
- 6. VB - Insérer une ligne vide
- 7. Insérer une ligne dans Excel (liaison tardive)
- 8. cliquez ligne dans gridview
- 9. Sélectionnez une ligne particulière dans Gridview
- 10. masquer une ligne GRIDVIEW dans asp.net
- 11. Supprimer une ligne de gridview
- 12. Insérer un GUID à chaque ligne existante
- 13. Remplacer une ligne gridview pendant le rendu
- 14. supprimer ligne sélectionnée dans Gridview dans Asp.net
- 15. Ajouter un séparateur de ligne à Gridview
- 16. ajouter une ligne de filtre à gridview
- 17. comment insérer une ligne dans la vue grille
- 18. Comment insérer une ligne sur une ligne spécifique dans plusieurs fichiers sous Unix?
- 19. Comment mettre une ligne en surbrillance dans gridview?
- 20. Récupère le texte de chaque ligne dans un Gridview paginé
- 21. Obtenir l'indice d'une ligne dans Asp.net Gridview
- 22. Comment définir une ligne ou une cellule spécifique dans un gridview (vb 2008)
- 23. Insérer un nouvel enregistrement dans EntityDataSource
- 24. Comment insérer une chaîne dans un rectangle?
- 25. GridView Ligne au type d'objet
- 26. asp.net gridview - sélectionner la ligne
- 27. comment insérer ligne par ligne de contenu dans un fichier texte dans une base de données mysql?
- 28. Extension de la ligne gridview
- 29. Comment insérer une ligne dans un ensemble de données à l'aide de SSIS?
- 30. Comment insérer un saut de ligne dans une cellule de feuille de calcul OPENXML?
voulez-vous dire vraiment 1.1? Dans ce cas, vous faites probablement référence à DataGrid ou à quelque chose d'autre, veuillez le vérifier et mettre à jour la question. – eglasius
Pourquoi le PO signifie-t-il vraiment 1.1? –
Parce que je l'ai dit à l'origine 1.1 mais l'a changé en 2.0 après le commentaire de Freddy. – Sisiutl