Linq et toList()

Marco130279 Messages postés 6 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 4 décembre 2009 - 3 déc. 2009 à 21:26
Marco130279 Messages postés 6 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 4 décembre 2009 - 4 déc. 2009 à 11:20
Bonjour,
(je veux remplir un GridView j'utilise Linq avec un service WCF)
Moi j'ai un petit Problème presque du même type:
Je veux avoir en resultat une GridView qui se rempli avec que 4 colonnes d'une table qui en contient 8...(J'espère voir été claire.)

public List<string> Email()
{
LinqDataContext dc = new LinqDataContext();

var V = (from Adresse in dc.Annonces
select string.Format("{0}-{1}-{2}-{3}", Adresse.Ann_Email, Adresse.Ann_Prix, Adresse.Ann_CodePostal, Adresse.Ann_Ville));
return V.ToList();
}

Avec cette méthode je remplis ma DataGrid qu'avec 1 Colone nommée string.
Comment réaliser quelque chose qui abouti à une gridView correctement remplit...

Je vous en remercie d'avance.

11 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 déc. 2009 à 21:29
Salut


Voici un exemple

using System;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public class AdresseP 
    {
        public string Rue { get;  set; }
        public string Cp { get; set; }
        public string Ville { get; set; }

        public AdresseP(string aRue, string aCp, string aVille) 
        {
            this.Rue = aRue;
            this.Cp = aCp;
            this.Ville = aVille;
        }
 
    }
    
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            var db = new DataClasses1DataContext();
            var q = from a in db.Adresses
                    select new AdresseP(a.Rue,a.Cp,a.Ville);

            dataGridView1.DataSource = q.ToList();

        }
    }
}


Bon dev
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 déc. 2009 à 21:36
Il est possible de passer par une constructeur dans la classe Adresse aussi qui sort
du modele linq

 
 public partial class Adresse
    {
   
        public Adresse(string aRue, string aCp, string aVille) 
        {
            this.Rue = aRue;
            this.Cp = aCp;
            this.Ville = aVille;
        }
 
    }


Sinon il faut passer par les types anonymes

 var db = new DataClasses1DataContext();
            var q = from a in db.Adresses
                    select new { a.Rue, a.Cp, a.Ville };
            dataGridView1.DataSource = q.ToList();


Les 3 bouts de programme donne le même résultat
0
Marco130279 Messages postés 6 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 4 décembre 2009
3 déc. 2009 à 21:45
Oui mais en passant par un Iservice.cs
[OperationContract]
List<string> Email();
et dans mon fichier service.Svc.cs

LinqDataContext dc = new LinqDataContext();

var V = (from Adresse in dc.Annonces
select string.Format("{0}-{1}-{2}-{3}", Adresse.Ann_Email, Adresse.Ann_Prix, Adresse.Ann_CodePostal, Adresse.Ann_Ville));
return V.ToList();

Pouvez vous me l'arranger de avec cette méthode... Merci
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 déc. 2009 à 22:12
Je ne comprends pas ce que tu cherches.
0

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

Posez votre question
Marco130279 Messages postés 6 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 4 décembre 2009
3 déc. 2009 à 22:19
En fait je fais des essaie en silverlight, avec Linq et j'utilise le service Wcf...
C'est pour cela que je declare dans le fichier interface
" [OperationContract]
List<string> Email(); "

et dans le fichier service
"LinqDataContext dc = new LinqDataContext();

var V = (from Adresse in dc.Annonces
select string.Format("{0}-{1}-{2}-{3}", Adresse.Ann_Email, Adresse.Ann_Prix, Adresse.Ann_CodePostal, Adresse.Ann_Ville));
return V.ToList();
"
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 déc. 2009 à 22:23
Avec
[OperationContract]
List Email();


Ca doit passer?
0
Marco130279 Messages postés 6 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 4 décembre 2009
3 déc. 2009 à 22:29
En fait ce n'est pas adresse? c'est Annonce la table... A moins que j'ai tord
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 déc. 2009 à 22:32
Ah oui désolé alors

[OperationContract]
List Email();
0
Marco130279 Messages postés 6 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 4 décembre 2009
3 déc. 2009 à 22:40
je serais chiant... Et dans le fichier service on aura quoi???

public List Email()
{
LinqDataContext dc = new LinqDataContext();
var V = (from Adresse in dc.Annonces select string.Format(Adresse.Ann_Email, Adresse.Ann_Prix));
return V.ToList();
}
mais avec ça j'ai une erreur
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 déc. 2009 à 23:00
[mode]
Essaies de faire des efforts de recherche de ton coté.
Ton code n'a pas bougé d'un poil par rapport a ton premier post, j'ai l'impression de répondre dans le vide.
En plus tout a été donné dans les précédents posts.
Et j'ai une erreur (sans l'expliquer) c'est pas top pour t'aider.
[fin mode ]


 private List Email() 
{
            var db = new DataClasses1DataContext();
            var q = from a in db.Adresses
                     select new Adresse ( a.Rue, a.Cp, a.Ville );

            return q.ToList();
}
0
Marco130279 Messages postés 6 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 4 décembre 2009
4 déc. 2009 à 11:20
Excuse moi, mais je recherche de mon côté, mais je voudrais un code qui pouvait que me modifier le "Select " pour pouvoir appliquer la fonction ToList()... Ce matin dans le train j'ai trouvé une méthode, qui je ne sais pas si elle est bonne:
J'insert la table annonce dans mon Linq que je renomme "Annonce1" et j'enlève toute les colonnes dont je n'est pas besoin et ensuite j'appelle carrément la table...

private List Email()
{
var db = new DataClasses1DataContext();
var q = from X in db.Annonce
select X
return q.ToList();
}
Ne m'en veux pas je recherbeaucoup de mon coté, mais je ne suis pas très bon en adaptation, c'est pour cela que je te demandais des choses assez détaillées..
Je voudrais savoir si ma méthode est bonne????
0
Rejoignez-nous