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

Windows Presentation Foundation Discussion :

impossible d'afficher le resultat d'une requete "Linq to" dans un datagrid


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut impossible d'afficher le resultat d'une requete "Linq to" dans un datagrid
    Bonjour,

    Je suis actuellement en train de réaliser un petit programme pour ameliorer mes connaissance en dans le WPF.
    Cette application nécessite que l'utilisateur rentre des informations (des notes scolaire sur plusieurs étudiants). Tout ça est réalisé, je stock les informations et fait mes calculs dans mon Objet Eleve.

    Il en résulte une liste d'Eleve.

    Je souhaite afficher les résultats sous forme de liste ou tableau et rangé dans un certain ordre.

    Je pense utiliser le "LINQ to" pour ça, à moins que ça soit faisable avec l'"Entity Framework" (mais je n'en suis pas certain).

    Je ne vois pas quel contrôle est le plus adapté pour afficher tout ça

    Je voudrais bien une petite indication là dessus

    Merci d'avance.

    PS : je continue tout de même de chercher de mon coté

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    Je suis en train de jouer avec le contrôle datagrid (découvrir plus que jouer ^^) pour parvenir à mes fins mais c'est sans succès , mais est-ce possible avec ?

    EDIT : Pour le moment le Linq à l'air de marcher (enfin je crois que c'est du Linq)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var query = from Eleve in tEleve
                                orderby Eleve.Moy descending
                                select Eleve;
    Puis j'arrive à afficher dans un textBlock mais le résultat est plutôt hideux ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (Eleve ele in query)
                    {
                        textBlock10.Text += i + " :  " + ele.Prenom + ele.Nom + "  Moyenne = " + ele.Moy + '\n';
                        i++;
                    }
    qu'en pensez-vous ?

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    Donc maintenant je pense que c'est faisable avec ce que j'ai trouvé sur les datagrid mais je n'arrive pas à afficher le résultat dans le contenu de mon datagrid.
    Pourtant je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var query = from Eleve in tEleve
                                orderby Eleve.Moy descending
                                select Eleve;
                    dataGrid1.DataContext = query;
                    dataGrid1.Visibility = Visibility.Visible;
    Ce n'est pas bon ?

    Je précise que j'ai bien un résultat (je l'ai affiché avec un textBlock avant de tester le datagrid)

    EDIT :
    J'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGrid1.DataContext = query;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGrid1.ItemsSource = query;
    ça me parait plus concluant dans le sens ou dans le datagrid j'ai une ligne par Eleve, mais cette ligne est vide

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 97
    Par défaut
    Il faut ensuite dans le XAML configurer le datagrid pour lui dire quelles propriétés de ton objet Eleve tu veux qu'il affiche. Ou lui demander de faire tout le boulot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            <DataGrid x:Name="dataGrid1" AutoGenerateColumns="True" />

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    bah c'est déjà le cas dans le Xaml, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <DataGrid AutoGenerateColumns="True" Height="116" HorizontalAlignment="Left" Margin="17,20,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="470" />
    et depuis que j'ai l'auto génération de colonnes à "True" justement j'ai des lignes vides dans mon datagrid :/

    Par contre je n'ai pas d'intitulé et donc pas de colonnes non plus bizarrement ...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 97
    Par défaut
    C'est surprenant. Tu as essayé de définir toi même les colonnes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <DataGrid AutoGenerateColumns="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Path=Nom}" Header="Nom" />
                    <DataGridTextColumn Binding="{Binding Path=Prenom}" Header="Prenom"/>
                </DataGrid.Columns>
            </DataGrid>

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

Discussions similaires

  1. faire afficher le resultat d'une requete
    Par T'chab dans le forum Access
    Réponses: 12
    Dernier message: 16/05/2006, 15h56
  2. [C#]afficher le resultat d'une requete
    Par dieudo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/05/2006, 11h01
  3. [C#]afficher le resultat d'une requete
    Par dieudo dans le forum Access
    Réponses: 0
    Dernier message: 26/04/2006, 14h43
  4. afficher les resultats d'une requete mysql sur 3 colonnes
    Par harlock59 dans le forum Requêtes
    Réponses: 7
    Dernier message: 24/12/2005, 14h38
  5. Comment afficher le resultat d'une requete?
    Par Looping94510 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 11/02/2005, 08h42

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