GridView sans BD

[Résolu]
Signaler
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
-
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
-
Bonjour à tous,

Je veux savoir si c'est possible d'utiliser un GridView sans le lier à une base de donnée. Au lieu de cela je veux ajouter des données manuellement dedans.

J'ai également un souci avec l'event OnSelectedIndexChanged du GridView qui ne veut pas se déclencher.

Merci à l'avance
Guillaume

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !

6 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
bonjour,

pour avoir des données dans un gridview il faut utiliser la propriété DataSource qui prend un Enumerable ou un DataSet

tu peux donc avoir une classe Person avec les propriétés qui vont bien et affecté une List à la propriété DataSource, ensuite il te faut binder ce gridviewer via la méthode DataBind() qui permet de faire la liaison entre les données et le code HTML à généré.

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
oui et non, oublie tes reflexes winforms, tu fais du web la donc du html, l'event OnSelectedIndexChanged est déclenché seulement suite à un postback donc sur le button select, après tu peux bypasser ca mais faut bien connaitre ASP.net et JavaScript :-)

Ensuite généralement on extrait pas des données du gridview, c'est un controle d'affichage donc tu accede directement à la source de données c'est beaucoup plus simple. Mais tu peux quand meme acceder aux données via la propriété Rows (ou Item) qui contient une propriété DataItem du type d'un element de la collection avec laquelle tu as bindé, dans ton cas ca correspond au user.

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
Bon d'accord je vois le principe mais pratiquement ca na pas marché !! J'ai du faire une erreur quelque part, voila ce que j'ai :

Une classe User :

public class User
    {
        private string m_Name;
        public string Name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }

        private string m_Name2;
        public string Name2
        {
            get { return m_Name2; }
            set { m_Name2 = value; }
        }

        private int m_Age;
        public int Age
        {
            get { return m_Age; }
            set { m_Age = value; }
        }

        public User(string Name, string Name2, int Age)
        {
            m_Name = Name;
            m_Name2 = Name2;
            m_Age = Age;
        }
    }

Dans mon .aspx j'ai :

           
               
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <Columns>
                   
                   
                   
                </Columns>
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <EditRowStyle BackColor="#999999" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
               
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
               
           

Ensuite dans mon code je fais :

                List MyList = new List();

                User u = new User("Bob","Lajoie",20);

                MyList.Add(u);

                u = new User("Bobinette", "Latristesse", 21);

                MyList.Add(u);

                GridView1.DataSource = MyList;
                GridView1.DataBind();

Je n'obtiens aucune erreur mais aucun resultat non plus !!!

Est-ce que j'ai mal compris un truc ??

Merci
Guillaume
________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
Ok j'ai trouvé mon erreur : J'avais oublié le champ DataField dans le GridView !!

Merci beaucoup pour ton aide.

Guillaume.

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
Alors la ca va pour populer mon GridView mais pour aller en chercher le contenu cependant ca va moins bien !! Quelle serait la meilleure méthode pour aller extraire les données présentes dans le GridView ?

Et y a-t-il un moyen de pouvoir selectionner une ligne du GridView en declanchant l'event OnSelectedIndexChanged sans etre obligé d'ajouter un bouton Select ???

Merci a l'avance
Guillaume

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
Ok

Je suis un peu trop habitué de travailler avec le ListView en C#  !! J'vais m'habituer :)

Merci beaucoup
Guillaume.

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !