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

XRTableRow Class

A single Row in an XRTable.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v18.2.dll

Declaration

[XRDesigner("DevExpress.XtraReports.Design.XRTableRowDesigner,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")]
[DefaultCollectionName("Cells")]
[XRToolboxSubcategory(0, 6)]
[ToolboxSvgImage("DevExpress.XtraReports.SvgImages.Controls.XRTableRow.svg,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")]
public class XRTableRow :
    XRControl,
    IWeighty,
    IWeightyContainer
<XRDesigner("DevExpress.XtraReports.Design.XRTableRowDesigner,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")>
<DefaultCollectionName("Cells")>
<XRToolboxSubcategory(0, 6)>
<ToolboxSvgImage("DevExpress.XtraReports.SvgImages.Controls.XRTableRow.svg,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")>
Public Class XRTableRow
    Inherits XRControl
    Implements IWeighty,
               IWeightyContainer

Remarks

An XRTableRow object is used to contain a collection of table cells, which can be accessed via its XRTableRow.Cells property. Note that when an XRTableRow instance is initialized by its constructor, it doesn't contain any cells.

The table which contains the current table row is accessed via the XRTableRow.Table property.

When creating descendants of the XRTable and XRTableRow classes, you can override their protected virtual CreateRow and CreateCell methods. These methods are invoked in all designer operations, except for dropping multiple items from the Field List. The following example illustrates this approach.

using DevExpress.XtraReports.UI;
using System.ComponentModel;
// ...

namespace WindowsFormsApplication1 {
    [ToolboxItem(true)]
    public class XRTableEx : XRTable {
        protected override XRTableRow CreateRow() {
            return new XRTableRowEx();
        }
    }

    public class XRTableRowEx : XRTableRow {
        public XRTableRowEx()
            : base() {
            SizeF = new System.Drawing.SizeF(120, this.DefaultHeight);
        }

        protected override XRTableCell CreateCell() {
            return new XRTableCellEx();
        }

        protected override int DefaultHeight {
            get {
                return 35;
            }
        }
    }

    public class XRTableCellEx : XRTableCell {
        public XRTableCellEx() {
            Text = "MyCustomXRTableCellEx";
        }
    }
}

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;
}

Inheritance

Implements

DevExpress.XtraReports.Serialization.IXRSerializable
DevExpress.Utils.Serializing.Helpers.IXtraSupportDeserializeCollectionItem
DevExpress.Utils.Serializing.IXtraSerializable
DevExpress.XtraReports.Native.IWeighty
DevExpress.XtraReports.Native.IWeightyContainer
See Also