Back to Devexpress

Create a Calculated Field (Runtime Sample)

xtrareports-7052-feature-guide-to-devexpress-reports-shape-report-data-use-calculated-fields-create-a-calculated-field-runtime-sample.md

latest2.4 KB
Original Source

Create a Calculated Field (Runtime Sample)

  • Feb 18, 2026
  • 2 minutes to read

Tip

Online Example : How to create a calculated field at runtime

This example demonstrates how to create a calculated field at runtime, and bind the field to the report control’s Text property.

csharp
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.Configuration;
// ...
// Create a report.
XtraReport1 report = new XtraReport1();

// Create a calculated field 
// and add it to the report's collection.
CalculatedField calcField = new CalculatedField();
report.CalculatedFields.Add(calcField);

// Specify the calculated field's properties.
calcField.DataSource = report.DataSource;
calcField.DataMember = report.DataMember;
calcField.FieldType = FieldType.Double;
calcField.DisplayName = "Calculated Field";
calcField.Name = "myField";
calcField.Expression = "[UnitPrice] * [UnitsInStock]";

// Bind the label's Text property to the calculated field.
report.FindControl("xrlabel3", true).ExpressionBindings
            .Add(new ExpressionBinding() {
                EventName = "BeforePrint",
                PropertyName = "Text",
                Expression = "FormatString('{0:c2}', [myField])"
            });
vb
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraReports.Configuration
' ...
' Create a report.
Dim report As New XtraReport1()

' Create a calculated field 
' and add it to the report's collection.
Dim calcField As New CalculatedField()
report.CalculatedFields.Add(calcField)

' Define the calculated field's properties.
calcField.DataSource = report.DataSource
calcField.DataMember = report.DataMember
calcField.FieldType = FieldType.Double
calcField.DisplayName = "Calculated Field"
calcField.Name = "myField"
calcField.Expression = "[UnitPrice] * [UnitsInStock]"

' Bind a label's Text property to the calculated field.
report.FindControl("xrlabel3", True).ExpressionBindings.Add(New ExpressionBinding("BeforePrint", "Text", "FormatString('{0:c2}', [myField])"))

The result is shown in the following image.