2008-10-15 121 views
0

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

一个完美的例子是打开Windows资源管理器,并查看左侧的目录树。如果有人知道代表那棵树的方式,那么它就会为我所需要做的工作而工作。

我最初的尝试已经:

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

2)递归地将相同的报告嵌入到每个级别的自身中。换句话说:

mainReport 
    subReport 
    subReport 
    subReport 
    subReport 
    subReport 
    subReport 

等等

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

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

那么,还有其他想法吗?

回答

4

Crystal XI添加了分层分组。你会在Reports菜单下找到它。我使用这个快速组织了一个具有n级深度的组织结构图报告。数据库表是这样的: ID 名 经理ID

在水晶报表,您可以通过ID选择这些列,组。然后在Reports下的“Hierarchical Grouping options”菜单下,勾选“Group Data Hierarchically”,parent Id managerId,并适当缩进。

输出就像您在资源管理器中描述的树。

+0

谢谢!我不确定我们使用的是什么版本,但它看起来像是它说服老板升级的时间了:)再次感谢! – CodingWithSpike 2008-11-12 01:24:34