c#

位置:IT落伍者 >> c# >> 浏览文章

C#高级编程:数据绑定对象[2]


发布日期:2024年01月12日
 
C#高级编程:数据绑定对象[2]
——此文章摘自《C#高级编程(第版)》定价元 特价元 购买

只为给定的数据源创建一次CurrencyManager或PropertyManager如果把两个文本框绑定到DataTable的一个行上则在BindingContext中只创建一个CurrencyManager

添加到窗体中的每个控件都链接到窗体的绑定管理器上因此所有的控件都共享相同的实例在最初创建一个控件时其BindingContext属性为空在把控件添加到窗体的Controls集合中时就把BindingContext设置为该窗体的Controls集合

要把控件绑定到一个列上需要给其DataBindings属性添加一个入口这是ControlBindingsCollection的一个实例下面的代码可以创建一个新绑定

textBoxDataBindingsAdd(Text ds ProductsProductName);

ControlBindingsCollection的Add()方法会从传递给它的参数中创建Binding对象的一个实例并把它添加到绑定集合中如图所示

显示了把一个Binding添加到控件中的情况绑定把控件链接到数据源上存储在Form(或控件本身)的BindingContext中数据源内部的改变会反映到控件上控件中的改变也会反映到数据源上

Binding类

这个类把控件的一个属性链接到数据源的一个成员上在改变该成员时控件的属性会更新以反映这个改变反之亦然如果文本框中的文本被更新这个改变也会反映到数据源上

可以把任何列绑定到控件的任何属性上例如可以把列绑定到一个文本框中也可以把另一个列绑定到文本框的颜色上可以把控件的属性绑定到完全不同的数据源上例如单元格的颜色可以在一个颜色表中定义而实际的数据可以在另一个表中定义

CurrencyManager和PropertyManager

在创建Binding对象时如果这是第一次绑定数据源中的数据就会创建对应的CurrencyManager 或 PropertyManager对象这个类的作用是定义当前记录在数据源中的位置在改变当前的记录时需要调整所有的ListBindings显示了Products表中的两个字段包含一种通过跟蹤栏控件在记录之间移动的方式

[] [] [] []

               

上一篇:C#高级编程:数据绑定对象[3]

下一篇:C#中的Adapter设计模式浅析