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.v19.2.dll

Declaration

public class XRTableRow :
    XRControl,
    IWeighty,
    IWeightyContainer
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.

Implement descendants of the XRTable and XRTableRow classes to create a custom table (for instance, a table with a different default row height or with pre-populated cells). Override the protected virtual XRTable.CreateRow and XRTableRow.CreateCell methods. These methods are invoked in all designer operations, except for multiple item drops from the Field List.

The code sample below illustrates custom table implementation.

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

namespace WindowsFormsApplication1 {
    [ToolboxItem(true)]
    public class XRTableEx : XRTable {
        // Override the CreateRow() method to create a custom table row.
        protected override XRTableRow CreateRow() {
            return new XRTableRowEx();
        }
    }

    // Implement a custom table row with specified height.
    public class XRTableRowEx : XRTableRow {
        public XRTableRowEx()
            : base() {
            SizeF = new System.Drawing.SizeF(120, this.DefaultHeight);
        }

        // Override the CreateCell() method to create a custom table cell.
        protected override XRTableCell CreateCell() {
            return new XRTableCellEx();
        }

        // Specify the default row height.
        protected override int DefaultHeight {
            get {
                return 35;
            }
        }
    }

    // Implement a custom table cell with custom text.
    public class XRTableCellEx : XRTableCell {
        public XRTableCellEx() {
            Text = "MyCustomXRTableCellEx";
        }
    }
}

Examples

The code sample below illustrates how to create an XRTable at runtime.

using DevExpress.XtraReports.UI;
// ...

// Create a new report and assign a data source to it.
XtraReport report = new XtraReport();
report.DataSource = ds;
report.DataMember = "queryProducts";

// Create a detail band and add it to the report.
DetailBand detailBand = new DetailBand();
report.Bands.Add(detailBand);

// Create a table and add it to the detail band.
XRTable table = new XRTable();
detailBand.Controls.Add(table);

// Create a row with the product name and product price cells.
XRTableRow row = new XRTableRow();
table.Rows.Add(row);
XRTableCell productName = new XRTableCell();
XRTableCell productPrice = new XRTableCell();
row.Cells.Add(productName);
row.Cells.Add(productPrice);

// Bind table cells to data fields.
productName.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[ProductName]"));
productPrice.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[UnitPrice]"));

Inheritance

Implements

DevExpress.XtraPrinting.IBrickOwner
DevExpress.Utils.Serializing.Helpers.IXtraSupportDeserializeCollectionItem
DevExpress.Utils.Serializing.IXtraSerializable
See Also