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

C# Discussion :

[C#, WPF, LINQ] Afficher données dans un DataGrid avec LinQ


Sujet :

C#

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut [C#, WPF, LINQ] Afficher données dans un DataGrid avec LinQ
    Bonjour à tous,

    Je me permets de vous contacter, car j'ai actuellement un souci à afficher mes données dans un DataGrid.

    Mon but est de réaliser un CRUD comme le tutoriel que j'ai suivi ci joint :


    Dans ce tutoriel, le mec fait le traitement avec une seule table/classe puis qu'avec Linq, une classe est une table.

    Bref moi j'essaie de récupérer plusieurs informations dans ma BDD, j'ai fait donc une requete avec jointure avec Linq mais je n'arrive pas à afficher mes données.

    Voici mon DataGrid:
    Nom : Capture.PNG
Affichages : 937
Taille : 11,2 Ko

    Mon code XAML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <DataGrid AutoGenerateColumns="False"  HorizontalAlignment="Left" Margin="14,92,0,0" Name="BookingData" VerticalAlignment="Top" Height="525"  Background="White">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="N°Réservation" Binding="{Binding Path=BookingId, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Nom" Binding="{Binding Path=LastName, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Prénom" Binding="{Binding Path=FirstName, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Date d'arrivée" Binding="{Binding Path=BookingStartDate, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Date de départ" Binding="{Binding Path=BookingEndDate, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Nuit(s)" Binding="{Binding Path=BookingNbNight, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="N°Chambre" Binding="{Binding Path=RoomId, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Total" Binding="{Binding Path=BillTotal, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Acompte" Binding="{Binding Path=PaymentAccount, IsAsync=True}" Width="*"/>
                    <DataGridTextColumn Header="Statuts" Binding="{Binding Path=BookingStatus, IsAsync=True}" Width="*"/>
                </DataGrid.Columns>
            </DataGrid>
    Mon fichier xaml.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    private void Window_Loaded(object sender, RoutedEventArgs e)
            {
     
                //chargement des donnees
                 List<BookingPlan> plan = new List<BookingPlan>();
                 DataClasses1DataContext data = new DataClasses1DataContext();
     
     
                var sql = from book in data.BOOKING
                          join cust in data.CUSTOMERS on book.BookingId equals cust.BookingId
                          join bkRoom in data.BOOKING_ROOM on book.BookingId equals bkRoom.BookingId
                          join facture in data.BILL on book.BookingId equals facture.BookingId
                          join pay in data.PAYMENT on facture.PaymentId equals pay.PaymentId
                          select new { book.BookingId, book.BookingStartDate, book.BookingEndDate, book.BookingNbNight, book.BookingStatus, cust.FirstName, cust.LastName, bkRoom.RoomId, facture.BillTotal, pay.PaymentAccount };
     
                           foreach (var item in sql){
                               plan.Add(new BookingPlan()
                               {
                                    BookingId=item.BookingId,
                                    BookingStartDate = (DateTime)item.BookingStartDate,
                                    BookingEndDate =(DateTime) item.BookingEndDate,
                                    BookingNbNight = (int)(item.BookingNbNight),
                                    BookingStatus = item.BookingStatus,
                                    FirstName = item.FirstName,
                                    LastName = item.LastName,
                                    RoomId = item.RoomId,
                                    BillTotal = (double)item.BillTotal,
                                    PaymentAccount =(double) item.PaymentAccount,
                            });
                               BookingData.ItemsSource = plan;
     
                }
     
     
            }
    Est ce possible?

    Merci par avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Par défaut
    Bonjour,

    Est-tu passé au débugger pour vérifier
    1 - ton objet SQL contenais plusieurs item ?
    2 - que ton objet plan à la fin contenais bien une liste ?

    Ensuite dans t'as boucle foreach tu crée un nouveau objet mais vide

  3. #3
    Membre très actif Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    580
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Mars 2002
    Messages : 580
    Par défaut
    fais une capture écran de ton EDMX .... il est 4h:30 du matin

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/02/2013, 10h05
  2. [1.x] Impossible d'afficher données dans ma datagrid
    Par phpestpuissant dans le forum Symfony
    Réponses: 0
    Dernier message: 27/10/2012, 14h44
  3. C# et WPF : comment afficher des données dans une DataGrid (to bind or not to bind ?!?)
    Par jmnicolas dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 31/05/2010, 15h03
  4. comment afficher les données dans un datagrid
    Par tro2blabla dans le forum VB.NET
    Réponses: 7
    Dernier message: 13/08/2008, 08h58
  5. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14

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