P82 数据绑定Definition
- 在数据源和数据绑定控件之间的数据流的方向;
- 数据流什么时候发生;
对单向数据来说,数据只在一个方向上流动;来自数据源的属性值被放进用户界面控件的属性中,但是当控件中的这些属性值改变了以后,数据是不会从控件流回到数据源的,至少不会自动流回到数据源;
至于双向数据绑定,控件绑定属性的变更也会使客户端内存对象相应的数据源的值得到更新。双向数据绑定的概念就是希望能做到不需要自己编写一大堆代码,就可以收集数据的变更来更新数据。
P83.Net框架内置两种主要数据绑定形式:
- 简单数据绑定:在控件的属性与数据源项的属性之间做映射。
Binding bind = new Binding("Text", m_CustomerCollection,"CompanyName",true);
m_TextBox.DataBindings.Add(bind);
- 复杂数据绑定:基于列表的绑定,数据项的列表(一个实现了IList接口的集合对象)被绑定到控件上,这些控件一次可以显示多格数据项。
m_CustomerGrid.DataSource =m_CustomersCollection;
Summary
- Binding 对象在控件的单个属性与数据集合中的数据项的单个属性之间设置了双向的数据绑定;
- BindingSource组件在控件和它们的数据源之间充当了代理的角色。在.net 2.0中,绑定数据时必须绑定控件,绑定控件时也必须绑定数据源;
- BindingSource组件提供了修改绑定控件的数据源功能,而且修改的时候不需要更新单个控件的绑定,并且它还显示了一些事件,可以用来跟踪数据源中发生的事情;
- 为了设置主/从式数据绑定,我们需要将父控件绑定到一个数据源,将子控件绑定到另一个数据源,并且将第二个绑定员的DataSource属性设置为第一个绑定员,将DataMember属性设为父数据源中的子集合属性。
Ex.
- MasterDetailsSample P105