corelibraries-devexpress-dot-xtraprinting-e48eebdc.md
A visual brick comprised of rows and columns.
Namespace : DevExpress.XtraPrinting
Assembly : DevExpress.Printing.v25.2.Core.dll
NuGet Package : DevExpress.Printing.Core
public class PageTableBrick :
PanelBrick,
IPageBrick
Public Class PageTableBrick
Inherits PanelBrick
Implements IPageBrick
PageTableBrick is comprised of rows, with each row containing any number of other bricks. The main purpose of PageTableBrick is to provide a fixed structure to assorted bricks.
Note
You can utilize PageTableBrick only in the top and/or bottom margin areas of a document.
This example illustrates the use of PageTableBrick. First we create an array of PageInfoBricks, intended to display the current date, page number and company name. Then we create a new PageTableBrick object and populate it with bricks from the array. And finally, we draw the PageTableBrick in the BrickModifier.MarginalHeader page area and preview the report.
The result is shown in the following picture:
using DevExpress.XtraPrinting;
// ...
BrickGraphics brickGraph = printingSystem1.Graph;
// Fill an array with bricks.
Brick[] bricks = new Brick[] { CreateBrick("A Summary of {0:MMMM yyyy}",
PageInfo.DateTime), CreateBrick("Page number is {0} of the total {1} page(s)",
PageInfo.NumberOfTotal), CreateBrick("Developer Express Inc.",
PageInfo.None)};
// Create a PageTableBrick object filled with bricks.
PageTableBrick table = CreateTable(bricks);
table.Alignment = BrickAlignment.Near;
// Start the report generation.
printingSystem1.Begin();
// Specify the page area.
brickGraph.Modifier = BrickModifier.MarginalHeader;
// Draw a table.
brickGraph.DrawBrick(table);
// Finish the report generation.
printingSystem1.End();
// Preview the report.
printingSystem1.PreviewFormEx.Show();
// Creates a PageTableBrick object and places the bricks into table cells.
private PageTableBrick CreateTable(Brick[] bricks) {
PageTableBrick table = new PageTableBrick();
foreach(Brick brick in bricks) {
TableRow row = table.Rows.AddRow();
row.Bricks.Add(brick);
}
// It is necessary to recalculate the size of a PageTableBrick.
table.UpdateSize();
return table;
}
// Creates a PageInfoBrick to display information.
private Brick CreateBrick(string format, PageInfo info) {
PageInfoBrick infoBrick = new PageInfoBrick();
infoBrick.Format = format;
infoBrick.PageInfo = info;
infoBrick.Sides = BorderSide.None;
infoBrick.Rect = new RectangleF(0, 0, 0, 18);
infoBrick.AutoWidth = true;
return infoBrick;
}
Imports DevExpress.XtraPrinting
' ...
Dim brickGraph As BrickGraphics = printingSystem1.Graph
' Fill an array with bricks.
Dim bricks As Brick() = New Brick() { CreateBrick("A Summary of {0:MMMM yyyy}", _
PageInfo.DateTime), CreateBrick("Page number is {0} of the total {1} page(s)", _
PageInfo.NumberOfTotal), CreateBrick("Developer Express Inc.", PageInfo.None)}
' Create a PageTableBrick object filled with bricks.
Dim table As PageTableBrick = CreateTable(bricks)
table.Alignment = BrickAlignment.Near
' Start the report generation.
printingSystem1.Begin()
' Specify the page area.
brickGraph.Modifier = BrickModifier.MarginalHeader
' Draw a table.
brickGraph.DrawBrick(table)
' Finish the report generation.
printingSystem1.End()
' Preview the report.
printingSystem1.PreviewFormEx.Show()
' Creates a PageTableBrick object and places the bricks into table cells.
Private Function CreateTable(ByVal bricks As Brick()) As PageTableBrick
Dim table As PageTableBrick = New PageTableBrick()
For Each brick As Brick In bricks
Dim row As TableRow = table.Rows.AddRow()
row.Bricks.Add(brick)
Next brick
' It is necessary to recalculate the size of a PageTableBrick.
table.UpdateSize()
Return table
End Function
' Creates a PageInfoBrick to display information.
Private Function CreateBrick(ByVal format As String, ByVal info As _
PageInfo) As Brick
Dim infoBrick As PageInfoBrick = New PageInfoBrick()
infoBrick.Format = format
infoBrick.PageInfo = info
infoBrick.Sides = BorderSide.None
infoBrick.Rect = New RectangleF(0, 0, 0, 18)
infoBrick.AutoWidth = True
Return infoBrick
End Function
IXtraSupportDeserializeCollectionItem
Object DevExpress.Printing.Utils.DocumentStoring.StorableObjectBase BrickBase Brick VisualBrick PanelBrick PageTableBrick
See Also