是否可以在 WPF 中将 ListView(不是 DataGrid)绑定到事先未知列的矩阵(跨表)数据集?
以 Northwind 数据库为例:下面的简单查询将返回一个众所周知的数据集,该数据集可以轻松绑定到列表视图:
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
为了生成更有意义的报告,我们可能会运行上述查询的结果集(在报告程序中)以生成如下所示的内容:
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]
结果是这样的:
我的问题是,是否可以将此最终结果绑定到 WPF 中的 ListView 或 Flowdocument 而无需事先了解结果列?