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

Declaration

[XRDesigner("DevExpress.XtraReports.Design.XRTableCellDesigner,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")]
[DefaultBindableProperty("Text")]
[XRToolboxSubcategory(0, 7)]
[ToolboxSvgImage("DevExpress.XtraReports.SvgImages.Controls.XRTableCell.svg,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")]
public class XRTableCell :
    XRLabel,
    IBrickOwner,
    IWeighty
<XRDesigner("DevExpress.XtraReports.Design.XRTableCellDesigner,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")>
<DefaultBindableProperty("Text")>
<XRToolboxSubcategory(0, 7)>
<ToolboxSvgImage("DevExpress.XtraReports.SvgImages.Controls.XRTableCell.svg,DevExpress.XtraReports.v18.2.Extensions, Version=18.2.99.0, Culture=neutral, PublicKeyToken=c38a27d2243c2672")>
Public Class XRTableCell
    Inherits XRLabel
    Implements IBrickOwner,
               IWeighty

Remarks

Objects of the XRTableCell class are used to place and hold text or other controls in a table. Usually a table cell behaves like an ordinary label control, and displays the text set by the XRControl.Text property. If an XRTableCell object contains other controls, then it can't display the text set by its Text property.

The collection of contained controls can be accessed via the XRControl.Controls property of a table cell. The table row which contains the current table cell is accessed via the XRTableCell.Row property.

Note

When creating large tables in code, you can increase the report generator performance by setting the XRTableCell.Weight property to 1 for all table cells.

To learn more, see Creating a Table Report.

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.XtraReports.Native.IWeighty
See Also