寻找一种基于当前行前面的行数据创建报告列表的方法

时间:2012-02-21 15:31:07

标签: c# linq c#-4.0

我希望创建一个菜单项报告。这是我在IList集合中已经拥有的数据的简化示例:

0 1 0 N
1 1 1 N
1 1 2 Y
0 2 1 N
1 2 2 N
1 2 3 Y
1 2 4 N

其中

Column 1 - row type ( 0 = top level, 1 = sub level)
Column 2 - top level menu
Column 3 - sub level menu
Column 4 - default ( Y = Yes, N = No)

我需要做的是创建诸如/ 1-2等标题。这里的示例显示了我需要为这一小组数据创建的标题。

/1-2
/1-1
/1-2
/2-3
/2-2
/2-3
/2-4

标题计算如下。

  • 对于顶级的每一行,标题为“/”+ column1 + X. 其中X通过向前看来计算,以找出该标题的后续子级别在默认列中具有Y.
  • 对于每个子级别的行,标题为“/”+ column1 + column2

很抱歉,如果我的解释不好。这不容易解释。

当我创建一个类型为“顶级”的行时,有人可以给我一个关于如何实现前瞻的建议吗?

1 个答案:

答案 0 :(得分:0)

我建议将输入数据解析为基于树的结构,然后将基于树的结构转换为所需的输出,而不是尝试直接将一个映射到另一个。如果输入行不是总是按顺序并且具有完全有效的值,则尤其如此。