BindingManagerBase 对象在c#中能实现哪些功能
BindingManagerBase 对象在c#中能实现哪些功能呀,如果哪位知道的话可以告诉我一声吗?
使用 BindingManagerBase,可以对 Windows 窗体上绑定到相同数据源的数据绑定控件进行同步。(有关将控件简单绑定到数据源的更多信息,请参见 Binding 类。)例如,假定窗体包含两个绑定到相同数据源的不同列的 TextBox 控件。数据源可能是一个包含客户姓名的 DataTable,其中的列可能包含名字和姓氏。这两个控件必须同步以便一起显示同一客户的正确姓名。从 BindingManagerBase 类继承的 CurrencyManager 通过维护指向数据源中当前项的指针来完成此同步。TextBox 控件被绑定到当前项,因此它们显示同一行的信息。在当前项更改时,CurrencyManager 通知所有绑定控件,以便它们能够刷新它们的数据。此外,可以设置 Position 属性来指定控件所指向的 DataTable 中的行。若要确定数据源中存在的行数,请使用 Count 属性。
CurrencyManager 很有必要,因为数据源未必维护当前项的指针。例如,数组和 ArrayList 对象可以是数据源,但它们没有返回当前项的属性。若要获取当前项,请使用 Current 属性。
PropertyManager 也从 BindingManagerBase 继承,它用于维护对象的当前属性,而不是数据源中当前对象的属性。因此,试图为 PropertyManager 设置 Position 属性或 Count 属性无效。
若要创建 BindingManagerBase,请使用 BindingContext 类,该类根据所管理的数据源返回 CurrencyManager 或 PropertyManager。
解决方案程序员最好将控件直接绑定到 BindingSource 组件,这个组件同时作为数据源和实际目标数据源的数据连接器。BindingSource 极大地简化了简单数据绑定和复杂数据绑定,包括管理控件与其目标之间的流量。
详情请参照MSDN: BindingManagerBase 类CurrencyManager 很有必要,因为数据源未必维护当前项的指针。例如,数组和 ArrayList 对象可以是数据源,但它们没有返回当前项的属性。若要获取当前项,请使用 Current 属性。
PropertyManager 也从 BindingManagerBase 继承,它用于维护对象的当前属性,而不是数据源中当前对象的属性。因此,试图为 PropertyManager 设置 Position 属性或 Count 属性无效。
若要创建 BindingManagerBase,请使用 BindingContext 类,该类根据所管理的数据源返回 CurrencyManager 或 PropertyManager。
解决方案程序员最好将控件直接绑定到 BindingSource 组件,这个组件同时作为数据源和实际目标数据源的数据连接器。BindingSource 极大地简化了简单数据绑定和复杂数据绑定,包括管理控件与其目标之间的流量。