Bonjour,

j'ai un petit soucis avec une requête. Je souhaite récupérer des informations en fonction du choix de l'utilisateur.
Par exemple pour récupérer les valeurs des champs 'value' 'status' ainsi que le nombre de 'status' pour chaque 'value' je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Dim test = From p In dataChart Order By p.Status
                           Group By p.Status, p.value Into xValues = Group
                           Select series = xValues.LastOrDefault.value, X = xValues.LastOrDefault.Status, Y = xValues.Count
J'obtiens bien ce que je souhaite, mais le soucis c'est que l'utilisateur peut choisir d'autres informations. J'essaie donc de mettre en place une requête dynamique mais lorsque je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
                Dim test = From p In dataChart Order By p.GetType.GetProperty(model.xField)
                           Group By xField = p.GetType.GetProperty(model.xField).Name, yField = p.GetType.GetProperty(model.yField).Name Into xValues = Group
                          Select series = xValues.LastOrDefault.GetType.GetProperty(model.yField).GetValue(xValues.LastOrDefault, Nothing).ToString, _
                           X = xValues.LastOrDefault.GetType.GetProperty(model.xField).GetValue(xValues.LastOrDefault, Nothing).ToString, Y = xValues.Count Order By X
je n'obtient que la valeur de la dernière ligne. Je pense que cela vient du
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GetValue(xValues.LastOrDefault, Nothing)
mais pourquoi lors de la première requête, le xValues.LastOrDefault ne pose pas de soucis?