我有一份报告,我需要多次运行,每次输入不同的数据。每个报告都有一个唯一标识它的页眉,实际的数据主体,然后是一个包含[x of y pages]格式的页数的页脚。显然,我可以单独运行每个报告,但我需要在所有报告中使用页码。因此,如果我运行它两次,第一次有3页,第二次有两页,页脚在每个报告的底部显示[x为5页]。
我尝试创建一个主报告并只是嵌入报告,但它没有显示页面标题然后,我也考虑单独运行它们,并传入一个参数来调整页码,但我显然会需要呈现每个报告,找出页面总数,然后重新呈现每个报告以在页脚中获得正确的页面总数。
有什么建议吗?我显然遗失了什么?
答案 0 :(得分: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”的表,因为它是DataSet,并传入了“allFooBars”的集合。我还在报告上创建了一个页脚,这样我就可以在所有页面上进行一致的分页。然后我使用分组将“Foo”对象保持在一起。在组中,我将“分页开始”和“包括组标题”和“重复组标题”选项设置为true。然后我只是设置组标题来伪造我的页面标题以及组标题(基本上只有5行组标题,其中一行是空白以提供一些空间)。
基本上就是这样。