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

XRTableCell Class

A single Cell in an XRTable's Row.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v19.1.dll

Declaration

[DefaultBindableProperty("Text")]
public class XRTableCell :
    XRLabel,
    IBrickOwner,
    IWeighty
<DefaultBindableProperty("Text")>
Public Class XRTableCell
    Inherits XRLabel
    Implements IBrickOwner,
               IWeighty

Remarks

Use XRTableCell objects to place text or other controls in a table. A table cell behaves like an ordinary label control, and displays text from the XRControl.Text property. If an XRTableCell object contains other controls, it cannot display the text.

You can use the cell's XRControl.Controls property to access the contained controls collection. Use the XRTableCell.Row property to access the cell's row.

Note

When you create large tables in code, set the XRTableCell.Weight property to 1 for all table cells - to improve report generator performance.

See Create a Table Report for more information.

Markup Text

Use markup in table cells to change the text appearance. This behavior is in effect when the AllowMarkupText property is set to true. Refer to AllowMarkupText for more information.

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

Implements

DevExpress.XtraReports.Serialization.IXRSerializable
DevExpress.Utils.Serializing.Helpers.IXtraSupportDeserializeCollectionItem
DevExpress.Utils.Serializing.IXtraSerializable
DevExpress.XtraReports.Native.IDisplayNamePropertyContainer
DevExpress.XtraReports.Native.IEditOptionsContainer
DevExpress.XtraPrinting.IBrickOwner
DevExpress.XtraReports.Native.IWeighty
See Also