XtraReport数据绑定模式比较

22 篇文章 0 订阅
18 篇文章 1 订阅
本文对比了XtraReport的表达式绑定和传统数据绑定模式,详细介绍了两种模式的使用场景和优缺点。表达式绑定允许创建复杂的表达式和计算,而数据绑定则适用于简单的单个字段绑定。同时,文章提到了绑定模式的切换和报告转换工具,帮助用户在不同模式间进行转换。
摘要由CSDN通过智能技术生成

报表设计器可以使用表达式或标准数据绑定为报表提供动态内容。

表达式绑定

表达式绑定(默认模式)使您可以指定包含两个或多个数据字段和各种功能的复杂表达式。您还可以使用表达式来计算任何复杂度的摘要,而无需编写脚本,并有条件地调整数据的格式而无需设置格式规则。

将“属性网格”切换到“ 表达式”选项卡,然后调用“ 表达式编辑器”来构造表达式。

expressions-mode.png

表达式编辑器允许您使用宽范围的功能,获得报告的频带和控制,并引用当前数据源值。

表达式分页符

请注意,与标准绑定相比,此方法可以减慢复杂的计算。

传统数据绑定

数据绑定是早期报表版本使用的传统方法。

此模式使您可以将单个数据字段分配给报表控件的绑定属性。要提供自定义绑定逻辑,请处理具有安全隐患的报表脚本事件

报告之前打印脚本事件属性网格可视化工作室

 

绑定模式比较

绑定到单个数据字段

  • 通过“ 字段列表”面板,您可以将字段拖放到设计图面或现有报表控件上。在表达式数据绑定模式中,所有绑定方式都相同。

  • 控件的智能标记使您可以在相应的下拉列表中选择目标数据字段。

    表达式绑定

    数据绑定

  • 您可以选择一个报表控件,并将其绑定到“属性网格”中的数据。

    表达式绑定

    数据绑定

    切换到“ 表达式”选项卡,然后为“ 文本”属性指定一个数据字段。

    展开(数据绑定)类别,然后将数据字段分配给Text属性。

有关更多信息,请参见将报表控件绑定到数据主题。

绑定到多个数据字段

表达式绑定

数据绑定

使用邮件合并功能。

单击表达式属性的省略号按钮,然后指定表达式。

使用邮件合并功能。

计算总结

表达式绑定

数据绑定

在“ 表达式编辑器 ”的“ 摘要”部分中选择摘要功能。

所有功能均带有“ sum”前缀。

有关更多信息,请参见计算摘要

在“ 摘要功能”下拉列表中选择摘要功能。

有关更多信息,请参见计算摘要

复杂绑定,自定义摘要

表达式绑定

数据绑定

使用表达式编辑器构造任何复杂的表达式

有关示例,请参考计算高级摘要

使用报告脚本

有关示例,请参考计算自定义摘要

有条件地自定义外观

表达式绑定

数据绑定

使用表达式编辑器构造控件的外观和样式属性的表达式

 

有关示例,请参阅有条件地更改控件的外观

创建格式设置规则,并将其分配给报表控件。

有关示例,请参阅有条件地更改控件的外观

设置绑定模式

指定静态UserDesignerOptions.DataBindingMode属性以选择报表使用的绑定模式。您可以将此属性设置为以下DataBindingMode枚举值:

在设计时,可以使用“ 报表设计器选项”对话框在Visual Studio中设置DataBindingMode属性。

报告设计器选项对话框

注意

更改绑定模式后,重新加载报表设计器。

使用以下代码指定最终用户报表设计器的DataBindingMode属性:

static class Program {
    static void Main() {
        DevExpress.XtraReports.Configuration.Settings.Default.UserDesignerOptions.DataBindingMode = 
            DevExpress.XtraReports.UI.DataBindingMode.ExpressionsAdvanced;
        // ...
    }
}
 

将绑定转换为表达式

内置的自动报告转换工具可帮助您转换现有报告以使用新的绑定机制。该工具在以下情况下运行:

在设计时,可以使用“ 报表设计器选项”对话框在Visual Studio中设置ConvertBindingsToExpressions属性。

使用对话框将绑定转换为表达式

 

使用以下代码指定最终用户报表设计器的ConvertBindingsToExpressions属性:

static class Program {
    static void Main() {
        DevExpress.XtraReports.Configuration.Settings.Default.UserDesignerOptions.ConvertBindingsToExpressions = 
                DevExpress.XtraReports.UI.PromptBoolean.True;
        // ...
    }
}
 

在以下情况下,您将无法转换报告:

  • 报表包含一个或多个控件,这些控件绑定到未分配为报表数据源的数据源。
  • 报告包含格式规则,其数据源与报告的数据源不同。

注意

无法将报表从表达式转换回旧式绑定。

也可以看看
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值