XRLabel.SummaryCalculated Event
在计算标签的自动汇总值时发生。
命名空间:DevExpress.XtraReports.UI
程序集:DevExpress.XtraReports.v19.2.dll
#声明
[DefaultBindableProperty("Text")]
public class XRTableCell :
XRLabel,
IBrickOwner,
IWeighty
#事件数据
所述SummaryCalculated事件处理程序接收的参数TextFormatEventArgs类型。以下属性提供特定于此事件的信息。
属性 | 描述 |
---|---|
格式 | 获取应用于摘要文本的格式字符串。 |
文本 | 获取或设置摘要文本格式事件Args的文本表示形式。应用了字符串格式的值。 |
值 | 获取自动计算为标签摘要的值。 |
#备注
使用此事件可获得为标签控件自动计算的摘要值。可以通过TextFormatEventArgs.Value属性访问此值。
注意:当需要为主报表中的所有明细报表计算总计时,此事件很有用,因为无法在XtraReports中自动计算此值。
#例子
本示例演示如何将XRLabel.SummaryCalculated事件用于标签控件。在此示例中,报表的数据集包含两个相关表。“ 类别”表绑定到主报表,并且“ 产品”表用作DetailReport的数据源,该数据源按类别提供了产品列表。
详细信息报告计算每个产品的“ 单价”列的总和。此摘要是自动计算的。单价汇总的总计必须显示在主报表中。您必须编写自己的代码来计算这种摘要。它无法自动计算,因为UnitPrice列不属于主报表的数据源。
您应该在明细报告中处理摘要标签的SummaryCalculated事件。请注意,在触发BeforePrint事件时,尚未计算汇总值;您应该使用SummaryCalculated获得一个计算得出的汇总值。单个详细报告的摘要在全局变量(GrandTotals)中递增,然后打印在主报告的页脚中。
using System.Drawing.Printing;
using DevExpress.XtraReports.UI;
// ...
// Grand total value.
double GrandTotals = 0;
// Add the summary value to the grand total.
private void lbUnitPriceTotal_SummaryCalculated(object sender, TextFormatEventArgs e) {
if(e.Value != null)
GrandTotals += Convert.ToDouble(e.Value);
}
// Set the grand total value to the label's text.
private void lbUnitPriceGrandTotal_BeforePrint(object sender, PrintEventArgs e) {
((XRLabel)sender).Text = GrandTotals.ToString();
}
https://docs.devexpress.com/XtraReports/DevExpress.XtraReports.UI.XRLabel.SummaryCalculated