Developer Express data-aware .NET WinForms 控件可以被绑定到数据库、XML 文件、以及运行时刻创建的数据列表。 本主题展示如何把控件绑定到数据列表。
绑定控件到运行时刻创建的数据
假设你有一个呈现了数据记录的对象,以及这些记录的一个列表需要被显示在 data-aware 控件中。 要允许这个列表被绑定到控件,必须实现 IList、IListSource、ITypedList 或 IBindingList 接口。 使用 DataSource 属性,把这个列表作为控件的一个数据源。
你可以按照下列步骤来创建一个记录列表,并把它绑定到控件:- 声明一个类(Class1),它的实例将呈现记录。 该类的公共属性被作为字段处理。
-
声明一个实现 IList、IListSource、ITypedList 或 IBindingList 接口的类(Class2)。 它将呈现记录的一个列表(Class1 类的对象 ),并且作为控件的数据源。
注意: IList、ITypedList 和 IBindingList 接口之间的不同之处在下面描述。 如果你不想创建自己的列表对象,那么你可以使用已有的实现了这些接口的类。例如 ArrayList 或 Array 对象可以被作为控件的数据源。 因此,本步骤是可选的。
- 创建 Class2 类的一个新实例,并使用记录填充它。 把这个列表指派到控件的 DataSource 属性。
依照上面的规定,控件的数据源必须实现那三个接口中的一个。 下面列示了在实现每种接口类型的数据源之间的不同之处。
- 实现 IList 接口的对象。 这样的数据源必须至少有一条“记录”。 否则,绑定控件将不能新建任何行。 绑定到这种数据源的控件不会收到任何数据改变的通知,因此必须人工进行更新。
- 实现 ITypedList 接口的对象。 在这种情况下,新建行时不需要有任何“记录”。 不支持数据改变通知。
- 实现 IBindingList 接口的对象(派生于 IList)。 这种数据源类型没有其他接口的缺点。 该接口声明了 ListChanged 事件,当绑定数据被改变时,可用于控制自身的更新。