The requested page is not available for the requested platform. You are viewing the content for Default platform.

XRTable.EndInit() Method

Ends the XRTable's initialization.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v18.2.dll

Declaration

public void EndInit()
Public Sub

Remarks

To create XRTable at runtime and manually add XRTableRow and XRTableCell objects to it, it is always required to enclose this code inside the XRTable.BeginInit and EndInit method calls.

Because the final size of a table does not consider the size of its rows and cells , you need to manually set the table size and width (or, call the XRTable.AdjustSize method) before calling the EndInit method.

Note

The height of a table should be explicitly specified only if the cell content is not expected to stretch the cells (e.g., this may happen when their XRTableCell.CanGrow property is enabled).

Examples

This example demonstrates how to create an XRTable at runtime.

Please note that it is always required to call the XRTable.BeginInit and XRTable.EndInit methods if you modify XRTable.Rows and XRTableRow.Cells collections at runtime.

using System.Drawing;
using System.Drawing.Printing;
using DevExpress.XtraReports.UI;
// ...

private void XtraReport1_BeforePrint(object sender, PrintEventArgs e) {
    this.Detail.Controls.Add(CreateXRTable());
}

public XRTable CreateXRTable() {
    int cellsInRow = 3;
    int rowsCount = 3;
    float rowHeight = 25f;

    XRTable table = new XRTable();
    table.Borders = DevExpress.XtraPrinting.BorderSide.All;
    table.BeginInit();

    for (int i = 0; i < rowsCount; i++) {
        XRTableRow row = new XRTableRow();
        row.HeightF = rowHeight;
        for (int j = 0; j < cellsInRow; j++) {
            XRTableCell cell = new XRTableCell();
            row.Cells.Add(cell);
        }
        table.Rows.Add(row);
    }

    table.BeforePrint += new PrintEventHandler(table_BeforePrint);
    table.AdjustSize();
    table.EndInit();
    return table;
}

// The following code makes the table span to the entire page width.
void table_BeforePrint(object sender, PrintEventArgs e) {
    XRTable table = ((XRTable)sender);
    table.LocationF = new DevExpress.Utils.PointFloat(0F, 0F);
    table.WidthF = this.PageWidth - this.Margins.Left - this.Margins.Right;
}
See Also