介绍
Flex支持一些可以让你呈现项目列表的空间。这些控件可以让程序的使用者滚动列表,从选择一个或多个条目。所有的Flex列表组件都继承自ListBase类,包括下列控件:
DataGrid
HorizontalList
List
Menu
MenuBar
TileList
Tree
 
一个列表控件从一个dataProvider中获取它的数据。一个dataProvider是一个包含了像Array或XMLList的对象数据的集合。例如,一个Tree空间从一个定义了树状结构和关联到每个节点的数据的dataProvider中读取数据。集合是包含了可以让你访问、排序、过滤以及改变在数据对象中的条目的方法集合的对象。标准的集合类型是ArrayCollection和XMLListCollection类,分别对应于基于Array的和基于XMLList的数据。
 
Collection提供了一个在Flex组建和数据之间的抽象层。你可以从同一个集合派生出多个组件,或者在运行时切换组件的数据集合,或者改变一个数据集合使变更反射到所有使用这个数据提供着的组件。
 
你可以将dataProvider想象成模型,将Flex组件想象成模型的视图。通过从视图中分离模型,你可以改变其中的一个,而不需要改变另一个。每个列表控件都有一个默认的控制显示数据或视图机制,并且允许你覆盖这个默认的机制。要覆盖默认的视图,你需要创建一个自动以的条目渲染器(item render)。
 
除了使用条目渲染器控制数据的显示之外,DateGrid,List和Tree空间还可以让用户编辑数据。列表控件又一个默认的让用户编辑数据的机制,并且你可以通过创建一个自定义的条目编辑器(item editor)来覆盖默认机制。
 
默认的条目渲染和编辑
每个基于列表的空间都有一个默认的条目渲染器。最简单的条目渲染器是DataGridIemRender,这个条目渲染器只是将dataProvider中的每个成员呈现为一个字符串。
其它条目渲染器包括ListItemRender,MenuItemRender,MenuBarItem,TileListItemRender和TrreeItemRender。默认的,这些条目渲染器会组合图片和文字。