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

Linq Discussion :

DataGrid et Linq


Sujet :

Linq

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Par défaut DataGrid et Linq
    J'ai des informations dans une base de données et j'aimerais les afficher dans un Datagrid.

    J'ai fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MyContainer context = new MyContainer();
     
    MyDataGrid.ItemsSource = context.MaTable1;
    Le problème c'est que dans ce cas toutes les colonnes de ma table s'affiche et moi je voudrais faire une requêtes sélectionner les colonnes à afficher.

    J'ai donc essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataGrid.ItemsSource = from i in context.MaTable1
                                        select i.colonne1;
    Mais ceci ne fonctionne pas. Comment faire ?

    Merci.

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Par défaut
    Quand je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataGrid.ItemsSource = from i in context.MyTable
                                         select i.name;
    Dans ce cas la il m'affiche la longueur de la chaine de character.

    Et quand je fais ceci (name est un string, age un int) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataGrid.ItemsSource = from i in context.MyTable
                                         select i.name+" "+i.age;
    Impossible d'effectuer un cast du type « System.Int32 » en type « System.Object ». LINQ to Entities ne prend en charge que le cast des types primitifs EDM (Entity Data Model).

    EDIT :

    Et dans le cas ou je ne met que ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataGrid.ItemsSource = from i in context.MyTable
                                         select i.age
    J'ai un Datagrid avec des lignes vide.

  3. #3
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Citation Envoyé par Sonyy02 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataGrid.ItemsSource = from i in context.MyTable
                                         select i.name+" "+i.age;
    C'est normal qu'il y ait une exception. En gros, EF doit transformer ton LINQ en SQL, donc tu ne peux pas utiliser (ou faire les casts) comme tu peux en LINQ "normal".
    Tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataGrid.ItemsSource = from i in context.MyTable
                                         select i.name+" "+ + SqlFunctions.StringConvert((double?)i.age);
    SqlFunctions est une sorte de wrapper pour les fonction SQL, donc convertible en SQL par LINQ.



    Citation Envoyé par Sonyy02 Voir le message
    EDIT :

    Et dans le cas ou je ne met que ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataGrid.ItemsSource = from i in context.MyTable
                                         select i.age
    J'ai un Datagrid avec des lignes vide.
    Quel est le XAML du DataGrid? Il est en AutoGenerate?

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

Discussions similaires

  1. [Débutant] Question linq to SQL + datagrid + List
    Par androidFan2206 dans le forum C#
    Réponses: 3
    Dernier message: 05/06/2013, 16h39
  2. Affichage datagrid d'une requete linq sur EF en offline
    Par Chachnaq dans le forum Entity Framework
    Réponses: 3
    Dernier message: 07/04/2011, 23h45
  3. Réponses: 1
    Dernier message: 19/12/2010, 13h42
  4. impossible d'afficher le resultat d'une requete "Linq to" dans un datagrid
    Par zouuc dans le forum Windows Presentation Foundation
    Réponses: 10
    Dernier message: 19/10/2010, 15h44

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