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 :
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);
En tentant d'accéder aux alias SubCatName et CatName ce n'est pas reconnu dans la ListGrid


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 ?