【问题标题】:Crystal Reports - Using Subreports as ColumnsCrystal Reports - 将子报表用作列
【发布时间】:2014-05-09 20:16:49
【问题描述】:

我在水晶报表的格式设置方面遇到了一个小问题,希望您能帮我解决。

基本上,我有一个由三个子报表组成的水晶报表。每个子报告包含相同的 3 个部分,但使用不同的数据源。由于数据源不同,各个子报告中的部分的长度可能会有所不同,因此我的完整报告是这样呈现的:

子报告 1 |子报告 2 |子报告 3 第 1 节 |第 1 节 |第 1 节 一个 |一个 |一个 乙 |乙 |第 2 节 c | c |一个 第 2 节 | d | b 一个 |第 2 节 | C 乙 |一个 |第 3 节 c |乙 |一个 d |第 3 节 | b 第 3 节 |一个 一个

基本上,我想要做的是让所有部分对齐,而不管各个部分中可能包含的数据量如何:

子报告 1 |子报告 2 |子报告 3 第 1 节 |第 1 节 |第 1 节 一个 |一个 |一个 乙 |乙 | c | c | | d | 第 2 节 |第 2 节 |第 2 节 一个 |一个 |一个 乙 |乙 | b c | | C d | | 第 3 节 |第 3 节 |第 3 节 一个 |一个 |一个 | | b

请注意,我正在使用适用于 Visual Studio 2010 的 Crystal Reports 插件。我无法访问完整的 Crystal Reports。

【问题讨论】:

  • 是否可以将每个子报表分成 3 个子报表?这样每个子报表部分都会出现在子报表本身中。因此,您将在主报告中创建 3 个部分。第一个将有 subreport1_section1、subreport2_section1、subreport3_section1。然后,第二部分将包含 subreport1_section2、subreport2_section2、subreport3_section2。等等……
  • 感谢您的回复,heringer。虽然您的建议在理论上可行,但它会带来性能下降的代价,因为它现在将运行 9 个子报告,而不是主报告运行 3 个子报告。

标签: crystal-reports formatting multiple-columns crystal-reports-2010


【解决方案1】:

您的所有子报告都必须链接到一个公共字段才能正确排列。诸如日期或时间、颜色、价格之类的东西。每个数据源中的数据都是相同的。您的主要报告应至少报告该字段。 右键单击子报表以管理各个子报表链接。

在 Crystal Reports 10 中使用多个子报表导出。 除非前面有来自子报表的数据,否则主报表中的所有数据都被强制保留。 如果所有子报告都放在主报告中报告的所有信息的右侧,并且所有内容都正确排列...您的列和行应该正确导出到一个

    • TAB 分隔文件。
      从那里,使用“文本到列向导”将文件导入 excel。

我没有成功直接导出到 Excel 工作表。但是,它通过导出到 TAB 分隔的文本文件,然后通过 TEXT to COLUMN 向导导入到 excel 来工作。

【讨论】:

  • 您好 Stalek,所有三个子报告都使用三个不同的输入参数链接(StartDate 和 EndDate 创建填充信息的日期范围,ItemType 指定生成报告的项目) .三个子报告根据参数生成计数,其中一个是总计数,另外两个是子集计数。因此,子报告中没有返回的数据在所有三个报告中都是相同的。
【解决方案2】:

您可以尝试将子报表放在详细信息部分,然后转到部分专家,选择详细信息并选中“多列格式”。然后将列数设置为 3 并尝试报告将如何运行。万一您可以使子报表使用相同的数据源,这将起作用。

【讨论】:

  • 谢谢你的回复,兰。不幸的是,您的解决方案对我不起作用。子报告的各个部分仍然不一致。此外,由于详细信息部分中的子报告(它们以前在页眉中),返回的数据决定复制自身,导致我返回 30 多页而不是 2 页。我认为我的解决方案不可避免地会出现从为这些报告生成数据的 sql 中,通过强制它为所有三个子报告返回相同数量的行(而不是一个可能不存在数据的空值)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多