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

XRTable.BeginInit() Method

Starts the XRTable's initialization. Initialization occurs at runtime.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v19.1.dll

Declaration

public void BeginInit()
Public Sub BeginInit

Remarks

To create XRTable at runtime and manually add XRTableRow and XRTableCell objects to it, it is always required to enclose this code inside the BeginInit and XRTable.EndInit method calls.

Because the final size of a table does not consider the size of its rows and cells , you need to manually set the table size and width (or, call the XRTable.AdjustSize method) before calling the XRTable.EndInit method.

Note

The height of a table should be explicitly specified only if the cell content is not expected to stretch the cells (e.g., this may happen when their XRTableCell.CanGrow property is enabled).

Examples

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

using DevExpress.XtraReports.UI;
// ...

// 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]"));
See Also