本主题阐述了如何把 报表控件 绑定到数据字段 (在设计时刻和运行时刻),并说明了如何在不同的 报表带区 呈现控件。
本文档由下列小节组成。
控件绑定方法
可以通过把控件的可绑定属性设置为 报表数据源 中可用的字段,从而把控件绑定到数据。 此外,也可以把控件绑定到 计算字段。
注意,在 Visual Studio 设计时刻 (或者在 最终用户设计器 中) 指定报表控件的数据绑定,不需要把报表绑定到真实的数据源。 要获得相关细节,请参阅 在设计时刻把报表绑定到数据,而不使用数据源。
控件的类型不同,可绑定属性集也不同。 每个绑定都是通过一个 XRBinding 对象表示的,并且可以通过 XRControl.DataBindings 属性来访问控件的所有绑定的集合。 在设计时刻,在 属性 窗口的 (DataBindings) 组中也显示了所有可绑定属性。 例如,在下面的插图中展示了 XRLabel 控件的可绑定属性。
在设计时刻和运行时刻都可以把控件绑定到数据。
-
设计时刻
使用控件的 智能标记,然后在操作列表中,找到 Data Bindings(数据绑定) 部分,并调用它的下拉菜单。 然后,选择需要绑定的表字段。
或者,在 属性 窗口中展开 (DataBindings) 组,并选择需要绑定的属性。 然后,也可以指定输出值的格式。 要获得相关细节,请参阅 设置数据格式。
可以通过把所需的项从 Field List(字段列表) 中拖放到报表带区或已有的控件上,从而添加新的绑定控件,或者绑定已有的报表控件。 注意,在这种情况下,被绑定属性将是由控件的 DefaultBindableProperty attribute (通常为 XRControl.Text) 指定的属性。
注意,可以通过使用鼠标右键拖放 Field List(字段列表) 中的项,来创建特定类型的绑定控件。 在该项被放落时,将出现一个上下文菜单,其中包含了可以被创建并绑定到该项的可用控件的列表。
-
运行时刻
要在运行时刻把控件绑定到数据字段,必须创建一个绑定对象 (指定适当的绑定),并把此对象传递给控件。 可以使用 XRBindingCollection.Add 方法来完成这一任务。 下面的代码举例说明了如何把报表控件 (本例中为 xrLabel1) 绑定到现有数据集 (dsCategories1) 的一个数据字段 (Category. CategoryName)。 例如,可以把这些代码添加到 XtraReport 的构造函数中。
C# 复制代码 // Binding a report to the created data adapter and dataset. DataAdapter = oleDbDataAdapter1; DataSource = dsCategories1; // Binding an xrLabel to the CategoryName data field. XRBinding binding = new XRBinding("Text", DataSource, "Categories.CategoryName", "Category: {0}"); xrLabel1.DataBindings.Add(binding);
Visual Basic 复制代码 ' Binding a report to the created data adapter and dataset. DataAdapter = OleDbDataAdapter1 DataSource = DsCategories1 ' Binding an xrLabel to the CategoryName data field. Dim Binding As New XRBinding("Text", DataSource, "Categories.CategoryName", "Category: {0}") XrLabel1.DataBindings.Add(Binding)
注意,数据字段类型必须同于、或者可转换为被绑定数据的类型。 否则,将发生错误。
要学习如何在相同的控件中组合使用 静态 和 动态 内容 (例如把一些文本前缀或后缀,添加到从数据库取回的取值上),或者甚至把控件同时绑定到多个数据字段,请参阅 嵌入字段 (邮件合并)。
取消绑定控件
要在设计时刻取消绑定控件的属性,则调用此属性的绑定编辑器,并选择 (None)。
在运行时刻,可使用 CollectionBase.Clear、CollectionBase.RemoveAt 和 XRBindingCollection.Remove 方法。
C# | 复制代码 |
---|---|
// Removing binding.
xrLabel1.DataBindings.Remove(binding);
|
Visual Basic | 复制代码 |
---|---|
' Removing binding.
XrLabel1.DataBindings.Remove(Binding)
|
不同带区的控件行为
示例
可以参阅下列与标准数据绑定相关的按步骤操作指南。