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:
Mon code XAML :
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 <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>
Est ce possible?
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; } }
Merci par avance
Partager