如何解析XamPivotGrid的层次结构?

时间:2014-08-05 15:19:51

标签: c# wpf infragistics attachedbehaviors

我正致力于编写附加行为,以便在具有不同数据源的两个XamPivotGrid上复制列和行扩展。

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

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

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

感谢您的时间。

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

1 个答案:

答案 0 :(得分:0)

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

基本上,grid.GridLayout.RowHeaderCells项保证在所有网格中具有相同的索引。我不需要处理树木,只需要处理索引。

修改

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