通常,在显示报表时,您可以观察到第一页上不适合的数据如何传输到第二页。这对于“Data”和“Group header”字段来说是典型的,并与它们相关联。
数据带可以包含数据字段或其他对象,例如表或矩阵。要使第一页完全填充数据而没有空格,您需要为数据带设置CanBreak属性。但是,如果您希望第二页上的表格的“rest”位于顶部边缘下方?例如,在表格开头的级别。同时,如果您同时查看两张报表,它看起来会很和谐。没有常规设置。但是,我们始终可以使用报表脚本,并执行所有操作。 因此,有两种方法可以做到这一点,它们都非常相似。
第一种方式:
- 添加“Page title”Band;
- 为此频段添加BeforePrint事件处理程序;
- 在事件处理程序代码中,检查当前页码,如果是第二页,则将带的高度更改为合适的值。
拾取“Page Title”区域的高度,我们可以在第二页上以与第一页相同的级别打印表格。
第二种方法几乎与第一种方法相同:
- 添加“Page title”band;
- 在属性中设置所需的高度;
- 将BeforePrint事件处理程序添加到“Page title”区域;
- 在事件处理程序代码中,检查当前页码,如果是第二页,则显示band。
现在考虑“Page header”频段的BeforePrint事件处理程序的代码。
第一种方式:
private void PageHeader1_BeforePrint(object sender, EventArgs e)
{
if (Engine.CurPage > 0)
PageHeader1.Height = 50; // Set top margin
else
PageHeader1.Height = 0;
}
第二种方式:
private void PageHeader1_BeforePrint(object sender, EventArgs e)
{
if (Engine.CurPage > 0)
PageHeader1.Visible = true;
else
PageHeader1.Visible = false;
}
在第一种情况下,我们在代码中更改波段的高度,在第二种情况下,我们显示具有预定高度的波段。因此,我们在报表的第二页上获得了表格的上限:
可以调整报表的每个后续页面的边距。