BindingManagerBase 类的应用
2005-11-21 16:51
302 查看
查帮助可得
管理绑定到相同数据源和数据成员的所有 Binding 对象。该类为抽象类。
BindingManagerBase 允许对 Windows 窗体上绑定到相同数据源的数据绑定控件进行同步。(若要将控件简单绑定到数据源,请将一个 Binding 对象添加到该控件的 ControlBindingsCollection,它通过 DataBindings 属性来访问)。例如,假定某窗体包含两个 TextBox 控件,它们绑定到相同数据源的不同列(数据源可以是包含客户名称的 DataTable,而列可能包含名字和姓氏)。这两个控件必须同步以便一起显示同一客户的正确姓名。从 BindingManagerBase 类继承的 CurrencyManager 通过维护指向列表当前项的指针来完成该同步。TextBox 控件被绑定到当前项,因此它们显示同一行的信息。在当前项更改时,CurrencyManager 通知所有绑定控件,以便它们能够刷新它们的数据。此外,您可以设置 Position 属性来指定控件所指向的 DataTable 中的行。若要确定列表中存在的行数,请使用 Count 属性。
CurrencyManager 很有必要,因为数据源未必维护当前项的指针。例如,数组和 ArrayList 对象可以是数据源,但它们没有返回当前项的属性。若要获取当前项,请使用 Current 属性。
PropertyManager 也从 BindingManagerBase 继承,并且它用于维护对象的当前属性,而不是列表中当前对象的属性。因此,试图为 PropertyManager 设置 Position 属性或 Count 属性无效。
若要创建 BindingManagerBase 对象,请使用 BindingContext 类,它根据所管理的数据源返回 CurrencyManager 或 PropertyManager。
对继承者的说明: [/b] 当从 BindingManagerBase 继承时,必须重写下列成员:AddNew、Count、CancelCurrentEdit、Current、EndCurrentEdit、GetItemProperties、OnCurrentChanged、Position、RemoveAt、ResumeBinding、SuspendBinding 和 UpdateIsBinding。
事例如下
管理绑定到相同数据源和数据成员的所有 Binding 对象。该类为抽象类。
BindingManagerBase 允许对 Windows 窗体上绑定到相同数据源的数据绑定控件进行同步。(若要将控件简单绑定到数据源,请将一个 Binding 对象添加到该控件的 ControlBindingsCollection,它通过 DataBindings 属性来访问)。例如,假定某窗体包含两个 TextBox 控件,它们绑定到相同数据源的不同列(数据源可以是包含客户名称的 DataTable,而列可能包含名字和姓氏)。这两个控件必须同步以便一起显示同一客户的正确姓名。从 BindingManagerBase 类继承的 CurrencyManager 通过维护指向列表当前项的指针来完成该同步。TextBox 控件被绑定到当前项,因此它们显示同一行的信息。在当前项更改时,CurrencyManager 通知所有绑定控件,以便它们能够刷新它们的数据。此外,您可以设置 Position 属性来指定控件所指向的 DataTable 中的行。若要确定列表中存在的行数,请使用 Count 属性。
CurrencyManager 很有必要,因为数据源未必维护当前项的指针。例如,数组和 ArrayList 对象可以是数据源,但它们没有返回当前项的属性。若要获取当前项,请使用 Current 属性。
PropertyManager 也从 BindingManagerBase 继承,并且它用于维护对象的当前属性,而不是列表中当前对象的属性。因此,试图为 PropertyManager 设置 Position 属性或 Count 属性无效。
若要创建 BindingManagerBase 对象,请使用 BindingContext 类,它根据所管理的数据源返回 CurrencyManager 或 PropertyManager。
对继承者的说明: [/b] 当从 BindingManagerBase 继承时,必须重写下列成员:AddNew、Count、CancelCurrentEdit、Current、EndCurrentEdit、GetItemProperties、OnCurrentChanged、Position、RemoveAt、ResumeBinding、SuspendBinding 和 UpdateIsBinding。
事例如下
先定义
public BindingManagerBase BindingManagerBaseThis;
private DataSet ds=new DataSet();
FormLoad()里
ds.Clear();
// 省冽如何获取数据集合 myds
ds.Merge(myds,false);
dataviewThis = new DataView(.Tables[0]);
BindingManagerBaseThis = BindingContext[dataviewThis];
this.dataGrid1.DataSource=dataviewThis;
这样一来,你修改的DataGrid的值会同时更新DataSet的值
相关文章推荐
- BindingManagerBase的应用
- DataGridView与BindingManagerBase配合使用
- Binding,BindingManagerBase, BindingContext的用法
- BindingManagerBase 跟踪不一致
- Binding,BindingManagerBase, BindingContext的用法
- BindingManagerBase 类
- Windows 8应用开发入门之binding(绑定)
- Storm概念、原理详解及其应用(一)BaseStorm
- Red Hat Package Manager(RPM的介绍和应用)
- c# base和this在构造函数中的应用
- android 系统中frameworks/base添加的string可以被其他应用使用方法
- 【Android】点击应用进而打开base.apk的调用流程再分析
- Android 获取应用系统程序的包名 PackageManager.
- X-Shell + X-Manager 完成linux应用图形可视化
- PackageManagerService(Android5.1)深入分析(四)安装应用
- 链接基准标记< base >的应用与实例
- 从 iOS Basecamp 3 探索混合应用开发的最佳实践
- 为你的Android应用定制属于你的BaseActivity
- php 高级应用之php进程管理器PPM(php-process-manager)
- 背水一战 Windows 10 (23) - MVVM: 通过 Binding 或 x:Bind 结合 Command 实现,通过 ButtonBase 触发命令