XRTableCellCollection Class

A collection of XRTableCell objects.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v18.2.dll

Declaration

public class XRTableCellCollection :
    XRControlCollection,
    IList,
    ICollection,
    IDisposable,
    IEnumerable<IWeighty>,
    IEnumerable<XRTableCell>,
    IEnumerable
Public Class XRTableCellCollection
    Inherits XRControlCollection
    Implements IList,
               ICollection,
               IDisposable,
               IEnumerable(Of IWeighty),
               IEnumerable(Of XRTableCell),
               IEnumerable

A collection of this class is used to hold the cells of a table row. This collection is returned by the XRTableRow.Cells property of an XRTableRow object.

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