在Crystal Reports中显示树结构

时间:2008-10-15 15:28:24

标签: crystal-reports

有谁知道在Crystal Reports中表示树结构的方法? 我的大问题是我不知道树的深度。它在数据库表中表示,具有简单的“childId - > parentId”关系。

一个完美的例子是打开Windows资源管理器,然后查看左侧的目录树。如果有人知道表示该树的方法,那么它也适用于我需要做的事情。

我最初的尝试是:

1)以编程方式(在C#中)将组添加到报告中。遗憾的是,您无法创建Group类的新实例并将其添加到Groups集合。

2)以递归方式为每个级别嵌套相同的报告。换句话说:

mainReport
  subReport
    subReport
    subReport
  subReport
  subReport
    subReport

等...

不幸的是,SubReports不能包含SubReports。

我真的不想只将X个组添加到报表中并隐藏我不需要的组,因为我必须添加固定数量的嵌套组,但从技术上讲,数据设计可以支持无限深度,即使在实践中我们也看到了大约5个深度。

那么,还有其他想法吗?

1 个答案:

答案 0 :(得分:4)

Crystal XI添加了分层分组。您可以在“报告”菜单下找到它。我用这个汇总了一个n级深度的快速组织结构图报告。数据库表如下:   ID   名称   经理ID

在Crystal Report中,您可以按ID分组选择这些列。然后在“报告”下的“分层分组选项”菜单下,选中“分组数据组”,父ID管理器ID,并适当缩进。

输出类似于您在资源管理器中描述的树。