XRControl.EvaluateBinding Event
Occurs after a data-bound XRControl object obtains data from its data source.
Namespace: DevExpress.XtraReports.UI
Assembly: DevExpress.XtraReports.v24.1.dll
NuGet Package: DevExpress.Reporting.Core
Declaration
Event Data
The EvaluateBinding event's data class is BindingEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Binding | Provides the information about a control’s bindings in the XRControl.EvaluateBinding event handler. |
Value | Specifies a new value for a control’s bound property obtained in the XRControl.EvaluateBinding event handler. |
Remarks
The EvaluateBinding event is raised before the XRControl.BeforePrint event rises. In this event handler, you can perform custom calculations over data obtained from a control’s data source, that for any reason cannot be evaluated via Calculated Fields Overview.
In this event handler, you can access the information from a control’s XRBinding object (via the BindingEventArgs.Binding property), and assign a new value to the BindingEventArgs.Value property.
This event does not fire for data fields that are embedded into an XRControl‘s text using mail merge.
Example
The following code snippet changes date format for all controls that obtain DateTime
value at runtime:
private void XtraReport1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
XtraReport report = sender as XtraReport;
List<XRControl> list = report.AllControls<XRControl>().ToList();
for (int i = 0; i < list.Count; i++)
{
if (list[i] is XRLabel || list[i] is XRTableCell)
list[i].EvaluateBinding += XtraReport1_EvaluateBinding;
}
}
private void XtraReport1_EvaluateBinding(object sender, BindingEventArgs e)
{
if (e.Value is DateTime)
{
if (sender is XRLabel)
(sender as XRLabel).TextFormatString = "";//
if (sender is XRTableCell)
(sender as XRTableCell).TextFormatString = "";//
}
}