Lien entre deux classe

Signaler
Messages postés
27
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2010
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Salut j'ai un petit problème.
je veux afficher le resultat de ma requete dans une grille.J'ai fais ma requete en linq to sql.
dans une classe info.cs
ici:
namespace chargeInfo
{
public class info
{
public info()
{

var a = from requete in new chargerInfoDataContext().ELEVEs
where requete.NOM "jean" && requete.CLASSE "4eme"
select new { Nom requete.NOM, Prenom requete.PRENOMS };


}
}
}

et je veux retourner le résultat dans une grille donc j'ai fait dans mon default.aspx.cs:

info b = new info();
GridView1.DataSource=b;

GridView1.DataBind();


le programme ne se plein pas mais quand j'execute j'ai le msg suivant:
Le type de la source de données n'est pas valide. Le type doit être IListSource, IEnumerable ou IDataSource.

Quelqu'un peut m'aider?

6 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
23
Bonjour,

Effectivement, un gridview se comporte "comme un repeater"; il a besoin d'une collection afin de retrouver ses petits dans la source. Tout ceci car c'est un contrôle qui affiche dynamiquement une collection de données.
C'est pourquoi il ne te faut pas binder directement ton objet avec la gridview.

Essayes en faisant comme cela:
info b = new info();
List infos = new List();
infos.add(b);
GridView1.DataSource=infos;
GridView1.DataBind();

Bonne journée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
27
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2010

j'ai un problème avec le add
le programme se plaint.
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
23
Re,

As-tu bien ajouté le namespace: "using System.Collections.Generic;" ?
Sinon, je ne vois pas pourquoi le programme se plaint

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
23
Oups, au temps pour moi, c'est "Add" avec un "A" majuscule ^^...

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
27
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2010

ok c'était un "A" mais le debogger m'affiche un autre message.

La source de données de GridView avec l'ID 'GridView1' ne possédait pas de propriétés ou d'attributs permettant de générer des colonnes. Vérifiez que votre source de données a un contenu.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Bonsoir,

L'objet Info a probablement pas de Property visible (c'est à dire public).
Du coup, y'a rien à binder...


[hr]
-Blog-
-Site Perso-