在页面报表中,有一个矩形占位符控件,用于表示不适合列表、带状列表、矩表 或表数据区域的固定大小的数据。将数据区域链接到 OverflowPlaceHolder 时,此控件从与其链接的数据区域的 FixedSize 中获取其 Size 属性值。
您还可以在报表中放置多个 OverflowPlaceHolder 控件,以便为数据输出创建不同的外观。将数据区域链接到 OverflowPlaceHolder 控件,然后将该 OverflowPlaceHolder 控件链接到另一个 OverflowPlaceHolder 控件。可以通过此过程创建的两种常见布局是:
多页面布局:将数据区域放在报表的第一页上,将 OverflowPlaceHolder
控件放在后续页面上,以创建包含多个页面上溢出数据的布局。
注意:如果页面仅包含没有要显示的数据的溢出占位符,则不会呈现空页面。但是,如果页面还包含任何具有静态数据的控件,则页面将呈现。若要跳过呈现页面,请将
GrapeCity.ActiveReports.PageReportModel.Page.ThrowIfPlaceHoldersEmpty 属性设置为
True。
列式报表布局:将数据区域和 OverflowPlaceHolder
放在报表的同一页上,以创建以列格式显示数据的布局,如下图所示。
数据溢出到溢出占位符
可以将溢出数据从一个数据区域绑定到溢出占位符控件,或将溢出占位符控件绑定到报表中的另一个溢出占位符控件。以下步骤将引导您完成此过程:
这些步骤假定您已将页面报表模板添加到项目中,将其连接到数据源并添加了数据集。有关详细信息,请参阅连接到数据源和添加数据集。
将数据区域链接到溢出占位符控件
当数据超出数据区域的固定大小时,可以从数据区域创建链接,以启用数据流入 OverflowPlaceHolder。
在 Visual Studio
工具箱中,在报表的“Page1”选项卡上,将数据区域(如“列表”)拖放到设计图面上,并设置其 FixedSize
属性。
如果数据超出数据区域的固定大小,请从 Visual Studio 工具箱的报表的第 2 页选项卡上,将 OverflowPlaceHolder
控件(默认情况下为 OverflowPlaceHolder1)拖放到设计图面上。
在 Page1
设计图面上,选择上面放置的数据区域,然后转到“属性”窗口。
在“属性”窗口中,转到“GrapeCity.ActiveReports.PageReportModel.DataRegion.OverflowName”属性,然后从下拉列表中选择之前添加的
OverflowPlaceHolder 控件的名称。
下图显示了列表数据区域 (List1) 的“属性”窗口,其中在 OverflowName 属性中设置了 OverflowPlaceHolder1。
List1 数据区域的属性窗口
提示:根据您的布局要求,可以将 OverflowPlaceHolder
控件放在与数据区域相同的页面选项卡上,也可以放在不同的页面选项卡上。
将一个溢出占位符控件链接到另一个溢出占位符控件
您可以放置其他 OverflowPlaceHolder 控件,以显示流出第一个 OverflowPlaceHolder 控件之外的数据。
从 Visual Studio 工具箱中,将另一个 OverflowPlaceHolder 控件(如
OverflowPlaceHolder2)拖放到设计图面上。
在设计器中,选择包含溢出数据的 OverflowPlaceHolder1
控件,然后转到属性窗口。
在“属性”窗口中,转到“溢出名称”属性,然后选择上面放置的新 OverflowPlaceHolder 控件的名称。例如,在
OverflowPlaceHolder1 中,将 OverflowName 属性设置为 OverflowPlaceHolder2。
下图显示了溢出占位符 1 的属性窗口,其中在 OverflowName 属性中设置了溢出占位符 2。
溢出占位符1的属性窗口
谨慎:在具有多个 OverflowPlaceHolder 控件的报表中,将 OverflowPlaceHolder 控件链接到其各自的数据区域和其他 OverflowPlaceHolder 控件,以便溢出链不会中断。