0

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

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

我最初的尝试是:

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

2) 递归地将同一报表嵌套到每个级别。换句话说:

mainReport
  subReport
    subReport
    subReport
  subReport
  subReport
    subReport

ETC...

不幸的是,子报表不能包含子报表。

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

那么,还有其他想法吗?

4

1 回答 1

4

Crystal XI 添加了分层分组。您可以在“报告”菜单下找到它。我使用它整理了一个具有 n 级深度的快速组织结构图报告。数据库表是这样的:id name managerId

在 Crystal Report 中,您选择这些列,按 id 分组。然后在 Reports 下的“Hierarchical Grouping options”菜单下,选中“Group Data Hierarchically”,父 ID managerId,并适当缩进。

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

于 2008-11-05T03:08:17.207 回答