益肾补骨液适用人群:CurrencyManager为和BindingContext类

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 17:17:29

CurrencyManager为和BindingContext类

(2007-03-01 09:34:32) 转载分类: winform
/*CurrencyManager为和BindingContext类
* CurrencyManager类用来使用权绑定到同一个数据源的多个控件保持同步。在windows窗体中,每个数据源都有一个对应的CurrencyManager对象。因此
* 因此,在窗体(或容器控件)中可能包含多个CurrencyManager对象,这些CurrencyManager对象通过窗体的绑定上下文(BindingContext)对象来管理。
*
* CurrencyManager为位于命名空间System.Windows.Forms中,它从类BindingManagerBase继承所有的属性和方法。下面列出了CurrencyManager类的属性。
* ·Bindings属性:用来获取该对象管理的所有绑定(Binding)对象。而Binding对象中又包含与该绑定相关的控件(Control属性)、数据源(DataSource)
* 和被绑定的属性名称(PropertyName)等信息。
* ·Count属性:返回该对象管理的数据行的数目。
* ·Current属性:用来获取当前行对象,通常是一个DataRowView对象。
* ·Position属性:用来获取或设置当前行的索引。其中,第1行的索引为0,最后一行的索引为Count-1。
*
* 绑定上下文使用类BindingContext表示,用来管理窗体中的所有BindingManagerBase对象,它也位于命名空间System.Windows.Forms中。每个控件(所有从
* Control类派生的对象,比如窗体)都包含一个BindingContext属性,可以通过这个属性来创建或获取与它所包含的数据绑定控件相关联的BindingManager
* Base对象。在获取控件的BindingManagerBase对象时,需要指定相应的数据源对象。例如下面的代码。
* CurrencyManager cm;
* DataSet myDataSet=new DataSet();
* TextBox txtFirstName=new TextBox();
* //获取窗体的数据源myDataSet对应的BindingManagerBase对象
* BindingManagerBase bmForm=this.BindingContext[myDataSet];
* //获取窗体中文本框控件的BindManagerBase对象。
* BindiningManagerBase bmText=this.BindingContext[txtFirstName.DataBindings[0].DataSource];
*
* 注意:每个控件都有一个DataBindings属性,这是一个集合,包含该控件中的所有绑定(Binding)对象。可以使用这个属性来为控件添加数据绑定。例如下面的
* 代码。
* textBox1.DataBindings.Add("Text",//绑定的属性myDataSet,//数据源"Customers.CompanyName");//绑定的数据成员
*
* 如果控件绑定到指定数据源中的特写成员上,则在获取BindingManagerBase对象时还需要指定数据成员的名称。例如下面的代码。
* BindingManagerBase bm=this.BindingContext[myDataSet,"Customers"];
*
* 在获取BindingManagerBase对象之后,就可以访问它的属性了。如获取数据行的数目以及设置当前位置等。例如下面的代码。
* int rowcount=bm.count;
* bm.Position=rowcount-1;//移动到最后通牒一行。
*
* 试一试:
* 也可以为窗体中的其他容器控件(比如GroupBox、Panel或TabControl控件)创建BindingContext对象,然后向其中添加相应的BindingManagerBase对象。通过使用
* 这种方式,可以在窗体中同时显示同一个数据源怕不同位置上的数据。