Flash Player 6.0.79。
Flash MX 2004。
listnstance
.dataProvider
属性;在列表中查看的项目的数据模型。该属性的值可以是一个数组或任何实现 DataProvider 接口的对象。默认值为 []。有关 DataProvider 接口的详细信息,请参阅DataProvider 组件。
List 组件以及其他支持数据的组件会将方法添加到 Array 对象的原型,以便它们符合 DataProvider 接口。因此,任何同时作为列表存在的数组都可以自动获得作为列表的数据模型所需的所有方法(addItem()
、getItemAt()
等),并可用于向多个组件广播模型更改。
如果数组包含对象,则会访问 List.labelField
或 List.labelFunction
属性,以确定要显示项目的哪些部分。默认值为 "label"
,如果存在 label
字段,则会选择显示它,如果不存在该字段,则显示用逗号分隔的所有字段的列表。
注意:如果该数组在每个索引处都包含字符串,而不包含对象,该列表就无法对项目进行排序和保持选定状态。进行任何排序都会丢失所做选择。
任何实现 DataProvider 接口的实例都可以作为 List 组件的数据提供程序。这包括 Flash Remoting RecordSets、Firefly DataSets,等等。
在本例使用一个字符串数组填充列表:
list.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 }); }