XRTableCellCollection.Add(XRTableCell) Method
Appends the specified XRTableCell to the table row’s collection of cells.
Namespace: DevExpress.XtraReports.UI
Assembly: DevExpress.XtraReports.v19.1.dll
NuGet Packages: DevExpress.Reporting.Core, DevExpress.WindowsDesktop.Core
Declaration
Parameters
Name | Type | Description |
---|---|---|
cell | XRTableCell | An XRTableCell object to append to the collection. |
Returns
Type | Description |
---|---|
Int32 | An integer value specifying the index of the new element in the collection. This method adds the XRTableCell object to the end of the collection. |
Remarks
This method is intended to be used instead of the XRControlCollection.Add when a cell is added to a table row.
Note
If you’re creating an XRTable object at runtime and manually add XRTableRow and XRTableCell objects to it, it is always required to enclose this code inside the XRTable.BeginInit and XRTable.EndInit method calls. Also, the final size of the table doesn’t consider the size of table rows and table cells being added to it. So, you need to manually set the table size and width before calling the XRTable.EndInit method.
Example
The code sample below illustrates how to create an XRTable at runtime.
Tip
Online Example: Runtime table creation best practices (iterative approach)
using DevExpress.XtraReports.UI;
// ...
private static SqlDataSource CreateSQLDataSource() {
// Create a data source with the 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 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]"));
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the Add(XRTableCell) method.
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.