BindingSource 组件概述
更新:2007 年 11 月
BindingSource 组件用于简化将控件绑定到基础数据源的过程。BindingSource 组件既可以作为一个导管,也可以作为一个数据源,其他控件绑定到该数据源。在将命令传递到基础数据列表时,该组件为您的窗体提供抽象的数据连接。此外,您还可以直接向该组件添加数据,这样,该组件本身起数据源的作用。
BindingSource 组件作为媒介
BindingSource 组件作为窗体上部分或全部组件的数据源。在 Visual Studio 中,可以通过 DataBindings 属性将 BindingSource 绑定到控件,该属性可在“属性”窗口中访问。如何:使用设计器将 Windows 窗体控件与 BindingSource 组件进行绑定
如何:使用设计器将 Windows 窗体控件与 BindingSource 组件进行绑定
如何:使用设计器将 Windows 窗体控件与 BindingSource 组件进行绑定
如何:使用设计器将 Windows 窗体控件与 BindingSource 组件进行绑定
可以将 BindingSource 组件绑定到两种数据源:一是简单数据源,如对象的单个属性或 ArrayList 这样的基本集合;二是复杂数据源,如数据库表。BindingSource 组件作为一个媒介提供绑定和货币管理服务。在设计或运行时,通过将 BindingSource 组件的 DataSource 和 DataMember 属性分别设置为数据库和表,可以将该组件绑定到复杂数据源。下面的说明演示在现有的数据绑定结构中,BindingSource 组件适合放在何处。
说明: |
---|
在设计时,某些操作(如将数据库表从数据窗口拖动到空白窗体)将创建 BindingSource 组件,将该组件绑定到基础数据源,然后添加数据识别控件整体操作。“显示数据”概述 |
BindingSource 组件作为数据源
如果您没有首先指定要绑定到的列表就开始将项添加到 BindingSource 组件,该组件将被用作列表样式的数据源,并接受添加的这些项。
另外,您还可以编写代码,通过 AddingNew 事件提供自定义“AddNew”功能,当 AddNew 方法在项被添加到列表之前被调用时会引发该事件。有关更多信息,请参见 BindingSource 组件结构。
导航
对于需要在窗体上定位数据的用户,BindingNavigator 组件与 BindingSource 组件配合使您能够定位和操作数据。有关更多信息,请参见 BindingNavigator 控件(Windows 窗体)。
数据操作
BindingSource 用作所有绑定的 CurrencyManager,因此可以提供对有关数据源的货币和位置信息的访问。下表显示 BindingSource 组件为访问和操作基础数据所提供的成员。
成员 |
说明 |
---|---|
Current 属性 |
获取数据源的当前项。 |
Position 属性 |
获取或设置基础列表中的当前位置。 |
List 属性 |
获取 DataSource 计算和 DataMember 计算列表。如果未设置 DataMember,则返回由 DataSource 指定的列表。 |
Insert 方法 |
将项插入列表的指定索引处。 |
从列表中移除当前项。 |
|
EndEdit 方法 |
将挂起的更改应用于基础数据源。 |
CancelEdit 方法 |
取消当前的编辑操作。 |
AddNew 方法 |
在基础列表中添加一个新项。如果数据源实现了 IBindingList 并从 AddingNew 事件返回一个项,则添加该项。否则,请求将被传递到列表的 AddNew 方法。如果基础列表不是一个 IBindingList,会通过它的公共默认构造函数自动创建该项。 |
排序和过滤
通常应使用排序的或过滤的数据源视图。下表显示 BindingSource 组件数据源提供的成员。
成员 |
说明 |
---|---|
Sort 属性 |
如果数据源为 IBindingList,则获取或设置用于排序和排序顺序信息的列名。如果数据源为 IBindingListView,并支持高级排序,则获取用于排序和排序顺序信息的多个列名。 |
Filter 属性 |
如果数据源是 IBindingListView,则会获取或设置用于过滤所查看行的表达式。 |