0

我正在编写附加行为,以在XamPivotGrid具有不同数据源的两个 s 之间复制列和行扩展。

该行为有效,但在除最外层之外的任何层次结构级别上,所有行都会同时展开。我想过滤我对标题行的查询,以仅获取具有相同父级的标题。问题就在这里:

我的初始数据透视网格有四个度量、一行和一列。默认情况下只选择一种度量。要创建层次结构,我(使用XamPivotDataSelector控件)将列拖动到也充当行,这使得度量充当列。虽然这似乎是枢轴网格上的层次结构,但实际上一个仍然是网格的 RowHeaders 之一,另一个是 ColumnHeader - 它们不共享我可以访问的关系。

在线搜索后,我没有找到任何有关如何访问可用于识别特定标头的信息的信息。我意识到这个问题可能需要对XamPivotGrid控件有足够深入的了解,我可能永远也得不到答案,所以我将继续研究网格,希望我能够自己回答这个问题。

感谢您的时间。

更新: 我发现列确实变成了行而不是列,所以至少这更有意义,但它们只是在一个列表中,而不是按层次排列。

4

1 回答 1

0

事实证明,当存在层次结构时,行/列结构实际上确实模拟了一棵树。因为我没有将列表转换为树的经验,并且因为我处理的两个网格总是具有相同的行和列,所以我能够做一些不同的事情。

本质上,grid.GridLayout.RowHeaderCells项目保证在所有网格中具有相同的索引。我不必处理树,只需处理一个索引。

编辑:

事实上,这个解决方案在我的情况下没有用,因为虽然行和列保持不变,但它们可能被隐藏了。相反,我发现我能够PivotHeaderCell.Member.Tuple.ToString()可靠地生成我在问题中搜索的“路径”,所以现在一切都更好了。

于 2014-08-05T16:57:32.607 回答