Skip to main content
A newer version of this page is available. .

XRTableCell Class

A cell in an XRTable row.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v20.2.dll

NuGet Packages: DevExpress.Reporting.Core, DevExpress.WindowsDesktop.Reporting.Core

Declaration

[DefaultBindableProperty("Text")]
public class XRTableCell :
    XRLabel,
    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 its Text property. If an XRTableCell object contains other controls, it cannot display text.

You can use the cell’s Controls property to access the control collection, and the cell’s Row property to access its row.

Markup Text

Use markup in table cells to change the text’s appearance. The markup works when the AllowMarkupText property is set to true. Refer to AllowMarkupText for more information.

Examples

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

using DevExpress.XtraReports.UI;
// ...
// Create a report.
XtraReport report = new XtraReport();

// 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);

// Add rows and colums to the table.
int numRows = 10;
int numCols = 20;

table.BeginInit();

for (int i = 0; i < numRows; i++) {
    XRTableRow row = new XRTableRow();
    table.Rows.Add(row);

    for (int j = 0; j < numCols; j++) {
        XRTableCell cell = new XRTableCell();
        table.Rows[i].Cells.Add(cell);
    }
}

// Set table size.
table.HeightF = 50;
table.WidthF = 500;

table.EndInit();

The following code sample creates an XRTable at runtime and binds the table to data:

using DevExpress.XtraReports.UI;
using DevExpress.DataAccess.Sql;
using DevExpress.DataAccess.ConnectionParameters;
// ...
private static SqlDataSource CreateSQLDataSource() {
    // Create a data source with the required connection parameters.  
    Access97ConnectionParameters connectionParameters = new Access97ConnectionParameters("Data/nwind.mdb", "", "");
    SqlDataSource dataSource = new SqlDataSource(connectionParameters);

    // Create a SELECT query.
    SelectQuery query = SelectQueryFluentBuilder
        .AddTable("Products")
        .SelectColumn("ProductName")
        .SelectColumn("UnitPrice")
        .Build("selectQuery");

    // Add the query to the collection and return the data source. 
    dataSource.Queries.Add(query);
    dataSource.Fill();
    return dataSource;
}
// ...
// Create a new data source.
SqlDataSource sqlDataSource = CreateSQLDataSource();

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

// 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 and add the product name and product price cells to the row.
table.BeginInit();

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 the table cells to the data fields.
productName.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[ProductName]"));
productPrice.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[UnitPrice]"));

table.EndInit();

The following code snippets (auto-collected from DevExpress Examples) contain references to the XRTableCell class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also