我经常在Visual Studio的Crystal Reports中创建报表,并希望拥有主要细节或1-many类型的东西。像这样:

Invoice Number 13245
   Total: $1,000,000
   Date Raised: 1-Jan-1989
   Date Due: 1-Jan-2019
Line items:
   #   Desc                  Cost
   1   Hat                  23.00
   2   Gloves                7.00
   3   Walking Stick   999,970.00

我可以使用单个数据集来处理这个简单的事情,然后对“父”值进行分组,但通常我有多种类型的详细信息行,或者想要详细记录的图表,或者出于任何原因我希望有两个数据集:一个用于父记录,一个用于子记录。

我一直采用的方法是将报告基于一个数据集,将子报告添加到报告中,并使用另一个数据集作为子记录。这工作正常,看起来正确 - 即当我运行报告时,我在一个视图中看到所有数据,细节部分扩展到适合所有记录。但是,子报表始终是可点击的,这是我的问题。如果用户单击子报表,即在子记录或图表上或我在那里的任何内容,他们将被带到子报表。这对他们来说很奇怪,因为他们会看到一个新的“页面”,其中只包含该部分的详细信息。

我真正想要的是一种让我的报表基于多个数据集的方法,就像我现在正在使用子报表一样,但是为了使用户无法点击这些子报表并深入研究它们。我从来没有弄清楚如何做到这一点。是因为我只是接近它是错误的,还是只是Crystal Reports的限制,还是有解决方案?

我正在使用Visual Studio 2005附带的Crystal Reports。

有帮助吗?

解决方案

双击子报表将始终打开向下钻取选项卡 - 这是产品的一项功能。

选项1: 接受深入分析功能并使用它来增强用户体验。

选项2: 使用包含发票和项次料品详细信息的单个数据集。将报告分组在#发票上,并将总计放在“组的标题”部分中。使用“详细信息”部分显示订单项。请记住,您可以有多个部分,这可能对显示图表很有用(在第二个“组头”部分中)。

您可能需要考虑在报表中构建查询,而不是在代码中执行此操作。这将极大地简化报表和代码,并使维护报表和代码变得更加容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top