ComboBox.dataProvider

可用性

Flash Player 6.0.79。

版本

Flash MX 2004。

用法

comboBoxInstance.dataProvider

描述

属性;在列表中查看的项目的数据模型。该属性的值可以是一个数组或任何实现 DataProvider 接口的对象。默认值为 []。这是 List 组件的一个属性,但是可以从 ComboBox 组件实例中直接访问。

List 组件以及其他支持数据的组件会将方法添加到 Array 对象的原型,以便它们符合 DataProvider 接口(有关详细信息,请参阅 DataProvider.as)。因此,任何同时作为列表存在的数组都会自动具有作为列表的模型所需的所有方法(addItem()getItemAt() 等等),并可用于向多个组件广播模型更改。

如果数组包含对象,则会访问 labelFieldlabelFunction 属性以确定要显示项目的哪些部分。默认值是 "label",所以,如果存在这样的字段,就会选择它来进行显示;如果不存在,就会显示用逗号分隔的所有字段的列表。

注意:如果该数组在每个索引处都包含字符串,而不包含对象,该列表就无法对项目进行排序和保持选定状态。进行任何排序都会丢失所做选择。

任何实现 DataProvider 接口的实例都可以作为 List 的数据提供程序。这包括 Flash Remoting RecordSets、Firefly DataSets,等等。

范例

本范例使用一个字符串数组来填充下拉列表:

comboBox.dataProvider = ["Ground Shipping","2nd Day Air","Next Day Air"];

本范例创建了一个数据提供程序数组,并将它分配给 dataProvider 属性,如下所示:

myDP = new Array();
list.dataProvider = myDP;

for (var i=0; i<accounts.length; i++) {
  // 对 DataProvider 的这些更改将广播到列表
  myDP.addItem({ label:accounts[i].name,
                 data:accounts[i].accountID }); 
}