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

XRTableRowCollection Class

A collection of XRTableRow objects.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v20.2.dll

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

Declaration

public class XRTableRowCollection :
    XRControlCollection,
    IEnumerable<IWeighty>,
    IEnumerable,
    IEnumerable<XRTableRow>

Remarks

A collection of this class is used to hold the rows of a table. This collection is returned by the XRTable.Rows property of an XRTable object.

Example

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();
See Also