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

XRTableRowCollection.Add(XRTableRow) Method

Appends the specified table row to the current collection.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v18.2.dll

Declaration

public int Add(
    XRTableRow row
)
Public Function Add(
    row As XRTableRow
) As Integer

Parameters

Name Type Description
row XRTableRow

An XRTableRow object to append to the collection.

Returns

Type Description
Int32

An integer value indicating the position into which a new element was inserted.

Remarks

This method adds the object to the end of the collection.

Note

If you're creating an XRTable object at runtime and manually add XRTableRow and XRTableCell objects to it, it is always required to enclose this code inside the XRTable.BeginInit and XRTable.EndInit method calls. Also, the final size of the table doesn't consider the size of table rows and table cells being added to it. So, you need to manually set the table size and width before calling the XRTable.EndInit method.

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