0

我有一份需要多次运行的报告,每次都输入不同的数据。每个报告都有一个唯一标识它的页眉、实际的数据主体,以及一个包含 [x of y pages] 格式的页数的页脚。显然我可以单独运行每个报告,但我需要页码跨越所有报告。因此,如果我运行它两次,第一次它有 3 页,第二次它有两页,页脚会在每个报告的底部显示 [x of 5 pages]。

我尝试创建一个主报告并只嵌入报告,但它没有显示页眉,我也考虑过单独运行它们,并传入一个参数来调整页码,但我显然需要渲染每个报告,找出总页数,然后重新渲染每个报告以在页脚处有正确的总页数。

有什么建议么?有什么我明显遗漏的吗?

4

1 回答 1

0

如果有人最终遇到类似的情况,这是我的解决方案:

首先解释我的数据集:

public Foo
{
  string a;
  List<Bar> subInfo;
}

public Bar
{
  string b;
  string c;
}

List<Foo> allFoos;

基本上,我没有将 allFoos 对象传递给主报表,然后尝试将相应的 Bar 对象传递给 subReport,而是创建了一个新对象:

Public FooBar
{
  string a;
  string b;
  string c;
}

List<FooBar> allFooBars;

所以基本上我扁平化了数据。从那里我创建了一个报告。我添加了一个将“FooBar”作为数据集的表,并传入了“allFooBars”的集合。我还在报告上创建了一个页脚,这样我就可以在所有页面上进行一致的分页。然后我使用分组将“Foo”对象保持在一起。在组上,我将“开始时的分页符”和“包括组标题”和“重复组标题”选项设置为 true。然后我只是设置了组标题来伪装成我的页面标题和组标题(基本上只有 5 行组标题,其中一个是空白的以提供一些空间)。

基本上就是这样。

于 2009-04-10T21:30:20.093 回答