Est-il possible dans WPF de lier un ListView (PAS un DataGrid) à un DataSet Matrix (Cross-Tab) dans lequel les colonnes sont inconnues auparavant?Dans WPF, pouvez-vous lier un ListView (PAS DataGrid) à un DataSet Matrix (Cross-Tab)?
Utilisation de la base de données Northwind comme exemple: la recherche simple ci-dessous renvoie un ensemble de données bien connu qui peut facilement être lié à un listview:
SELECT Year(o.OrderDate) AS [Year], Month(o.OrderDate) AS [Month],
COUNT(o.OrderID) AS [NumOrders]
FROM Orders o
GROUP BY Year(o.OrderDate), Month(o.OrderDate)
ORDER BY 1, 2
alt text http://i43.tinypic.com/rlhrh0.png
Pour créer un rapport plus significatif, nous pourrait exécuter le jeu de résultats de la requête ci-dessus (dans un programme de déclaration) pour générer quelque chose comme ci-dessous ci-dessous:
SELECT [Year],
SUM(CASE [Month] WHEN 1 Then NumOrders ELSE 0 END) AS 'Jan',
SUM(CASE [Month] WHEN 2 Then NumOrders ELSE 0 END) AS 'Feb',
SUM(CASE [Month] WHEN 3 Then NumOrders ELSE 0 END) AS 'Mar',
SUM(CASE [Month] WHEN 4 Then NumOrders ELSE 0 END) AS 'Apr',
SUM(CASE [Month] WHEN 5 Then NumOrders ELSE 0 END) AS 'May',
SUM(CASE [Month] WHEN 6 Then NumOrders ELSE 0 END) AS 'Jun',
SUM(CASE [Month] WHEN 7 Then NumOrders ELSE 0 END) AS 'Jul',
SUM(CASE [Month] WHEN 8 Then NumOrders ELSE 0 END) AS 'Aug',
SUM(CASE [Month] WHEN 9 Then NumOrders ELSE 0 END) AS 'Sep',
SUM(CASE [Month] WHEN 10 Then NumOrders ELSE 0 END) AS 'Oct',
SUM(CASE [Month] WHEN 11 Then NumOrders ELSE 0 END) AS 'Nov',
SUM(CASE [Month] WHEN 12 Then NumOrders ELSE 0 END) AS 'Dec'
FROM
(
SELECT Year(o.OrderDate) AS [Year], Month(o.OrderDate) AS [Month],
COUNT(o.OrderID) AS [NumOrders]
FROM Orders o
GROUP BY Year(o.OrderDate), Month(o.OrderDate)
)t0
GROUP BY [Year]
Quels sont les résultats dans quelque chose comme ceci:
alt text http://i44.tinypic.com/33kpt7q.png
Ma question est, il le possible de lier ce résultat final à un ListView ou un FlowDocument en WPF sans avoir la connaissance préalable des colonnes qui en découlent?
Est-il possible de parvenir à ce résultat en utilisant le modèle de conception M-V-VM? –