IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Problème d'affichage d'un GridView [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2014
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 49
    Points : 52
    Points
    52
    Par défaut Problème d'affichage d'un GridView
    Bonjour à tous,

    Je voudrai affiché la liste des constructeurs que je possède dans ma base de données dans le footer de ma page.

    Pour cela j'ai utilisé un GridView, jusque la pas de problème.

    Sauf que j'obtiens la liste sous la forme d'une colonne interminable.

    Donc je me demandais s'il était possible d'affiché les constructeurs en ligne (voir exemple) ? et si oui, comment ?

    Petit exemple pour mieux comprendre ma demande :

    GridView actuel :
    En-tête
    A
    B
    C
    D
    E
    F
    ...

    GridView demandé :
    En-tête
    A B C
    D E F
    ...

    Code de mon GridView:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <asp:AccessDataSource ID="ConsGridView" runat="server" 
            DataFile="~/App_Data/BDD.mdb" 
            SelectCommand="SELECT [NOM] FROM [CONSTRUCTEUR] ORDER BY [NOM]">
    </asp:AccessDataSource>
     
    <asp:GridView ID="GridView_Construsteur" runat="server" AutoGenerateColumns="False" 
            DataSourceID="ConsGridView" Width="200px" >
    <Columns>
            <asp:BoundField DataField="NOM" HeaderText="En-tête" SortExpression="NOM" />
    </Columns>
    </asp:GridView>
    Si non, qu'elle autre moyen me proposeriez-vous pour faire cela ?

    Merci

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    Un GridView est un tableau qui affiche ses données en ligne. Pas le choix...

    Pour faire ce que tu veux, utilises un Repeater et créé un liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <ul>
        <li>A</li>
        <li>B</li>
        <li>C</li>
        <li>D</li>
    </ul>
    Avec la CSS tu peux les mettre facilement en ligne.

    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2014
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 49
    Points : 52
    Points
    52
    Par défaut
    Alors ta proposition m'intéresse beaucoup, car je pense qu'elle me facilitera la tache après pour en faire des liens cliquables

    Mais le truc c'est que je ne connais pas le fonctionnement du Repeater ni comment le mettre en place ...

    Pourrai-tu m'aider ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Alors un petit exemple (mais il y d'autre facon de faire) :

    Extrait de page aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <asp:Repeater ID="rptPersonne" OnItemCommand="rptPersonne_ItemCommand" runat="server">
                    <HeaderTemplate>
                    <ul>
                </HeaderTemplate>
                <ItemTemplate>
                <li><%# Eval("Nom") %> - <%# Eval("Prenom") %> <asp:LinkButton ID="btDetail" CommandArgument='<%# Eval("id")%>' runat="server" Text="Détails"/></li>
                </ItemTemplate>
                <FooterTemplate>
                    </ul>
                </FooterTemplate> 
                </asp:Repeater>
    Code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    List<Personne> personnes = new List<Personne>()
            {
                new Personne{ Id= 1, Nom = "Gigi", Prenom="Prenom"},
                new Personne{ Id= 2, Nom = "Gygy", Prenom="Gygy"},
                new Personne{ Id= 3, Nom = "Dada", Prenom="Mimo"},
                new Personne{ Id= 4, Nom = "Nom", Prenom="Prenom"},
                new Personne{ Id= 5, Nom = "Momo", Prenom="Caca"},
                new Personne{ Id= 6, Nom = "Pipi", Prenom="Gigi"},
                new Personne{ Id= 7, Nom = "Caca", Prenom="Prenom"},
                new Personne{ Id= 8, Nom = "Huhu", Prenom="Prenom"},
                new Personne{ Id= 9, Nom = "Juju", Prenom="Rere"},
                new Personne{ Id= 10, Nom = "Rere", Prenom="Caca"},
            };
                        rptPersonne.DataSource = personnes;
                        rptPersonne.DataBind();
                    }
                }
            }
     
            protected void rptPersonne_ItemCommand(object source, RepeaterCommandEventArgs e)
            {
                //Récupération ID Select
                var id = e.CommandArgument;
            }
    Classe Personne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Personne
        {
            public int Id { get; set; }
            public string Nom { get; set; }
            public string  Prenom { get; set; }
        }
    Lien MSDN

    Et avec le framework 4.5 tu as maintenant un itemType qui te facilite le binding
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <asp:Repeater ID="rpData" runat="server" ItemType="Namespace.Personne">
                <ItemTemplate>
                    <%#: Item.Nom%>
                </ItemTemplate>
            </asp:Repeater>

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2014
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 49
    Points : 52
    Points
    52
    Par défaut
    Merci beaucoup pour ta réponse très rapide et très complète !

    J'essaye tous ça sur le champ et si j'y arrive je viendrai mettre résolu

    Encore un grand merci !

    EDIT : C'est parfait ! Merci, merci, merci !

  6. #6
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut


    Bon dev !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/04/2015, 17h30
  2. Problème d'affichage aléatoire dans un GridView
    Par boncarmaz dans le forum Android
    Réponses: 1
    Dernier message: 13/06/2014, 16h54
  3. [Débutant] GridView : Problème d'affichage d'indicateur de tri lorsque changement de page
    Par sylvebarbe78 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 22/02/2013, 12h34
  4. Probléme d'affichage une image dans GridView
    Par MarwaDev dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/01/2013, 10h47
  5. GridView+TextBox Editable+Bind=problème d'affichage
    Par Bindy dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 12/03/2009, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo