GridView sans BD

Résolu
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 - 1 mai 2007 à 16:08
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 - 1 mai 2007 à 19:45
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 mai 2007 à 17:05
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
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 mai 2007 à 19:28
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
3
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 1
1 mai 2007 à 18:04
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 !
0
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 1
1 mai 2007 à 18:06
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 1
1 mai 2007 à 19:12
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 !
0
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 1
1 mai 2007 à 19:45
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 !
0
Rejoignez-nous