Bonjour,
je rencontre un problème lors d'affichage de ma requête LINQ dans un GridView.
je l'ai déclaré de cette manière
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 <ListView ItemsSource="{Binding Path=Table}" Margin="14,0,19,14" Name="ListProducts" Height="218" VerticalAlignment="Bottom"> <ListView.View> <GridView> <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Path=ProductID}"/> <GridViewColumn Header="Nom Produit" DisplayMemberBinding="{Binding Path=Name}"/> <GridViewColumn Header="ProductNumber" DisplayMemberBinding="{Binding Path=ProductNumber}"/> <GridViewColumn Header="Sous-Cat" DisplayMemberBinding="{Binding Path=ProductSubcategory.Name}" /> <GridViewColumn Header="Categorie" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Header="Prix" DisplayMemberBinding="{Binding Path=StandardCost}"/> <GridViewColumn Header="Couleur" DisplayMemberBinding="{Binding Path=Color}"/> <GridViewColumn Header="Size" DisplayMemberBinding ="{Binding Path=Size}"/> </GridView> </ListView.View> </ListView>
Le problème est que je veux récupérer des champs de mêmes noms résultant de la requête LINQ ci dessous :
En tentant d'accéder aux alias SubCatName et CatName ce n'est pas reconnu dans la ListGrid
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 var query = (from p in connect2Adventure.Products join psc in connect2Adventure.ProductSubcategories on p.ProductSubcategoryID equals psc.ProductSubcategoryID join pc in connect2Adventure.ProductCategories on psc.ProductCategoryID equals pc.ProductCategoryID orderby p.ProductID select new { ProductID =p.ProductID, Product = p.Name, StandardCost= p.StandardCost, Color = p.Color, Size = p.Size, PN = p.ProductNumber, SubCatName = psc.Name, CatName = pc.Name, }).Take(limit);
Je transmets ensuite à ListView, le contenu de la requête sous forme de liste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part public ObservableCollection<ProduitsCategories> GetProduitsCategories(int limit)
Il ne semble pouvoir accéder qu'à l'attribut Name de ma table Product
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 System.Windows.Data Error: 35 : BindingExpression path error: 'Name' property not found on 'object' ''ProductSubcategory' (HashCode=23861452)'. BindingExpression:Path=ProductSubcategory.Name; DataItem='Product' (HashCode=31974754); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
Comment me conseillez vous de contourner ou résoudre ce problème ?
Partager