| 包 | fl.controls |
| 类 | public class List |
| 继承 | List SelectableList BaseScrollPane UIComponent Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| 实现 | IFocusManagerComponent |
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
List 组件由 item、row 和 data provider 构成,如下所述:
label 属性和 data 属性,前者是描述性的属性,后者用于存储与项目关联的数据。 默认情况下,List 组件使用 CellRenderer 类提供在其中显示列表项目的行。 可以通过编程方式创建这些行;这通常通过细分 CellRenderer 类来完成。 CellRenderer 类实现 ICellRenderer 接口,该接口提供一组属性和方法,List 组件可以使用这些属性和方法对其中的行进行操作,并将数据和状态信息发送到各行以供显示。 这将包括有关数据大小调整和选定内容的信息。
List 组件提供针对其数据提供者执行的方法,例如 addItem() 和 removeItem() 方法。 可以使用上述及其它方法操作同一帧中作为 List 组件存在的任何数组的数据,然后将更改广播给多个视图。 如果未随 List 组件提供外部数据提供者,则这些方法会自动创建一个数据提供者实例并通过 List.dataProvider 属性将其公开。 List 组件将使用实现 ICellRenderer 接口的 Sprite 来呈现每一行。 若要指定此渲染器,请使用 List.cellRenderer 属性。 您也可以创建一个 Array 实例或者从服务器上获取一个实例,然后将它用作多个列表、组合框、数据网格等的数据模型。
| 属性 | 定义方 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
| DisplayObject | |
![]() | allowMultipleSelection : Boolean
获取一个布尔值,指示能否一次选择多个列表项目。
| SelectableList | |
![]() | alpha : Number
指示指定对象的 Alpha 透明度值。
| DisplayObject | |
![]() | blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。
| DisplayObject | |
![]() | buttonMode : Boolean
指定此 sprite 的按钮模式。
| Sprite | |
![]() | cacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
| DisplayObject | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。
| Object | |
![]() | contextMenu : ContextMenu
指定与此对象相关联的上下文菜单。
| InteractiveObject | |
![]() | dataProvider : DataProvider
获取或设置要查看的项目列表的数据模型。
| SelectableList | |
![]() | doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。
| InteractiveObject | |
![]() | dropTarget : DisplayObject
[read-only]
指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。
| Sprite | |
![]() | enabled : Boolean
获取或设置一个值,该值指示组件是否可以接受用户交互。
| UIComponent | |
![]() | filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。
| DisplayObject | |
![]() | focusEnabled : Boolean
获取或设置一个布尔值,该值指示组件是否可以在用户单击它后获得焦点。
| UIComponent | |
![]() | focusManager : IFocusManager
获取或设置为此组件及其同级组件控制焦点的 FocusManager。
| UIComponent | |
![]() | focusRect : Object
指定此对象是否显示焦点矩形。
| InteractiveObject | |
![]() | graphics : Graphics
[read-only]
指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘画命令。
| Sprite | |
![]() | height : Number
获取或设置组件的高度,以像素为单位。
| UIComponent | |
![]() | hitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。
| Sprite | |
![]() | horizontalLineScrollSize : Number
获取或设置一个值,该值描述当单击滚动箭头时要在水平方向上滚动的内容量。
| BaseScrollPane | |
![]() | horizontalPageScrollSize : Number
获取或设置按滚动条轨道时水平滚动条上滚动滑块要移动的像素数。
| BaseScrollPane | |
![]() | horizontalScrollBar : ScrollBar
[read-only]
获取对水平滚动条的引用。
| BaseScrollPane | |
![]() | horizontalScrollPolicy : String
获取或设置一个值,该值指示水平滚动条的状态。
| BaseScrollPane | |
![]() | horizontalScrollPosition : Number
获取或设置一个值,该值描述滚动窗格中水平滚动条的水平位置(以像素为单位)。
| BaseScrollPane | |
| iconField : String
获取或设置用于提供项的图标的项字段。
| List | ||
| iconFunction : Function
获取或设置用于获得项的图标的函数。
| List | ||
| labelField : String
获取或设置 dataProvider 对象中的字段名称,该字段名称将显示为 TextInput 字段和下拉列表的标签。
| List | ||
| labelFunction : Function
获取或设置用于获得项的标签的函数。
| List | ||
![]() | length : uint
[read-only]
获取数据提供者中的项目数。
| SelectableList | |
![]() | loaderInfo : LoaderInfo
[read-only]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。
| DisplayObject | |
![]() | mask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。
| DisplayObject | |
![]() | maxHorizontalScrollPosition : Number
获取或设置当 horizontalScrollPolicy 属性设置为 ScrollPolicy.ON 时,列表可以向右滚动的像素数。
| SelectableList | |
![]() | maxVerticalScrollPosition : Number
[read-only]
获取当前内容的最大垂直滚动位置(以像素为单位)。
| BaseScrollPane | |
![]() | mouseChildren : Boolean
确定对象的子项是否支持鼠标。
| DisplayObjectContainer | |
![]() | mouseEnabled : Boolean
指定此对象是否接收鼠标消息。
| InteractiveObject | |
![]() | mouseFocusEnabled : Boolean
获取或设置一个值,该值指示组件是否可以在用户单击它后获得焦点。
| UIComponent | |
![]() | mouseX : Number
[read-only]
指示鼠标位置的 x 坐标,以像素为单位。
| DisplayObject | |
![]() | mouseY : Number
[read-only]
指示鼠标位置的 y 坐标,以像素为单位。
| DisplayObject | |
![]() | name : String
指示 DisplayObject 的实例名称。
| DisplayObject | |
![]() | numChildren : int
[read-only]
返回此对象的子项数目。
| DisplayObjectContainer | |
![]() | opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。
| DisplayObject | |
![]() | parent : DisplayObjectContainer
[read-only]
指示包含此显示对象的 DisplayObjectContainer 对象。
| DisplayObject | |
![]() | prototype : Object
[static]
对类或函数对象的原型对象的引用。
| Object | |
![]() | root : DisplayObject
[read-only]
对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。
| DisplayObject | |
![]() | rotation : Number
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。
| DisplayObject | |
| rowCount : uint
获取或设置在列表中至少部分可见的行的行数。
| List | ||
| rowHeight : Number
获取或设置列表中每一行的高度,以像素为单位。
| List | ||
![]() | scale9Grid : Rectangle
当前有效的缩放网格。
| DisplayObject | |
![]() | scaleX : Number
将组件的当前宽度与缩放系数相乘。
| UIComponent | |
![]() | scaleY : Number
将组件的当前高度与缩放系数相乘。
| UIComponent | |
![]() | scrollRect : Rectangle
显示对象的滚动矩形范围。
| DisplayObject | |
![]() | selectable : Boolean
获取或设置一个布尔值,指示列表中的项目是否可选。
| SelectableList | |
![]() | selectedIndex : int
获取或设置单选列表中的选定项目的索引。
| SelectableList | |
![]() | selectedIndices : Array
获取或设置一个数组,其中包含从多选列表中选定的项目。
| SelectableList | |
![]() | selectedItem : Object
获取或设置从单选列表中选择的项目。
| SelectableList | |
![]() | selectedItems : Array
获取或设置一个数组,其中包含多选列表中的选定项目的对象。
| SelectableList | |
![]() | soundTransform : SoundTransform
控制此 sprite 中的声音。
| Sprite | |
![]() | stage : Stage
[read-only]
显示对象的舞台。
| DisplayObject | |
![]() | tabChildren : Boolean
确定对象的子项是否支持 Tab 键。
| DisplayObjectContainer | |
![]() | tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。
| InteractiveObject | |
![]() | tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。
| InteractiveObject | |
![]() | textSnapshot : TextSnapshot
[read-only]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。
| DisplayObjectContainer | |
![]() | transform : Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。
| DisplayObject | |
![]() | useBitmapScrolling : Boolean
设置为 true 时,滚动内容的 cacheAsBitmap 属性设置为 true;设置为 false 时,该值会关闭。
| BaseScrollPane | |
![]() | useHandCursor : Boolean
布尔值,指示当鼠标滑过其 buttonMode 属性设置为 true 的 sprite 时是否显示手指形(手形光标)。
| Sprite | |
![]() | version : String = "3.0.0.13"
组件的版本号。
| UIComponent | |
![]() | verticalLineScrollSize : Number
获取或设置一个值,该值描述当单击滚动箭头时要在垂直方向上滚动多少像素。
| BaseScrollPane | |
![]() | verticalPageScrollSize : Number
获取或设置按滚动条轨道时垂直滚动条上滚动滑块要移动的像素数。
| BaseScrollPane | |
![]() | verticalScrollBar : ScrollBar
[read-only]
获取对垂直滚动条的引用。
| BaseScrollPane | |
![]() | verticalScrollPolicy : String
获取或设置一个值,该值指示垂直滚动条的状态。
| BaseScrollPane | |
![]() | verticalScrollPosition : Number
获取或设置一个值,该值描述滚动窗格中垂直滚动条的垂直位置(以像素为单位)。
| BaseScrollPane | |
![]() | visible : Boolean
获取或设置一个值,该值指示当前组件实例是否可见。
| UIComponent | |
![]() | width : Number
获取或设置组件的宽度(以像素为单位)。
| UIComponent | |
![]() | x : Number
获取或设置 x 坐标,该坐标表示组件在其父容器内沿 x 轴的位置。
| UIComponent | |
![]() | y : Number
获取或设置 y 坐标,该坐标表示组件在其父容器内沿 y 轴的位置。
| UIComponent | |
| 方法 | 定义方 | ||
|---|---|---|---|
|
List()
创建新的 List 组件实例。
| List | ||
![]() |
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
| DisplayObjectContainer | |
![]() |
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
| DisplayObjectContainer | |
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
| EventDispatcher | |
![]() |
向项目列表的末尾追加项目。
| SelectableList | |
![]() |
在指定索引位置处将项目插入列表。
| SelectableList | |
![]() |
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。
| DisplayObjectContainer | |
![]() |
清除列表中渲染器上所设置的样式。
| SelectableList | |
![]() |
清除列表中当前所选的项目,并将 selectedIndex 属性设置为 -1。
| SelectableList | |
![]() |
删除此组件实例中的样式属性。
| UIComponent | |
![]() |
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。
| DisplayObjectContainer | |
![]() |
将事件调度到事件流中。
| EventDispatcher | |
![]() |
在此组件上显示或隐藏焦点指示符。
| UIComponent | |
![]() |
启动立即绘制操作,但不像 invalidateNow 那样使全部设置失效。
| UIComponent | |
![]() |
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。
| DisplayObject | |
![]() |
返回位于指定索引处的子显示对象实例。
| DisplayObjectContainer | |
![]() |
返回具有指定名称的子显示对象。
| DisplayObjectContainer | |
![]() |
返回 DisplayObject 的 child 实例的索引位置。
| DisplayObjectContainer | |
![]() |
检索当前具有焦点的对象。
| UIComponent | |
![]() |
检索指定索引处的项目。
| SelectableList | |
![]() |
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。
| DisplayObjectContainer | |
![]() |
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。
| DisplayObject | |
![]() |
检索列表中渲染器上所设置的样式。
| SelectableList | |
![]() |
检索组件的样式查找链中设置的样式属性。
| UIComponent | |
|
[static]
检索当前组件的默认样式映射。
| List | ||
![]() |
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。
| DisplayObject | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| EventDispatcher | |
![]() |
指示对象是否已经定义了指定的属性。
| Object | |
![]() |
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
| DisplayObject | |
![]() |
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。
| DisplayObject | |
![]() |
在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。
| UIComponent | |
![]() |
使特定项目渲染器失效。
| SelectableList | |
![]() |
使位于指定索引处的项目的渲染器失效。
| SelectableList | |
![]() |
使整个列表失效,强制重绘列表项目。
| SelectableList | |
![]() |
检查列表中的指定项目是否处于选中状态。
| SelectableList | |
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | |
![]() |
为给定的项目对象(如果有)检索 ICellRenderer。
| SelectableList | |
|
基于 labelField 和 labelFunction 属性检索渲染器将为给定数据对象显示的字符串。
| List | ||
![]() |
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
| DisplayObject | |
![]() |
[static]
将多个类的样式合并到一个对象中。
| UIComponent | |
![]() |
将组件移动到其父项内的指定位置。
| UIComponent | |
![]() |
指示指定的属性是否存在、是否可枚举。
| Object | |
![]() |
删除列表中的所有项目。
| SelectableList | |
![]() |
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。
| DisplayObjectContainer | |
![]() |
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。
| DisplayObjectContainer | |
![]() |
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | |
![]() |
从列表中删除指定项目。
| SelectableList | |
![]() |
删除指定索引位置处的项目。
| SelectableList | |
![]() |
用其它项目替换指定索引位置处的项目。
| SelectableList | |
|
将列表滚动至位于指定索引处的项目。
| List | ||
![]() |
将列表滚动至由 selectedIndex 属性的当前值指示的位置处的项目。
| SelectableList | |
![]() |
更改现有子项在显示对象容器中的位置。
| DisplayObjectContainer | |
![]() |
设置此组件的焦点。
| UIComponent | |
![]() |
设置循环操作动态属性的可用性。
| Object | |
![]() |
设置列表中渲染器上的样式。
| SelectableList | |
![]() |
将组件设置为指定宽度和高度。
| UIComponent | |
![]() |
对此组件实例设置样式属性。
| UIComponent | |
![]() |
对当前数据提供者的元素进行排序。
| SelectableList | |
![]() |
以当前数据提供者的一个或多个字段为依据对其元素进行排序。
| SelectableList | |
![]() |
允许用户拖动指定的 Sprite。
| Sprite | |
![]() |
结束 startDrag() 方法。
| Sprite | |
![]() |
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。
| DisplayObjectContainer | |
![]() |
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。
| DisplayObjectContainer | |
![]() |
返回指定对象的字符串表示形式。
| Object | |
![]() |
验证并更新此对象的属性和布局,如果需要的话重绘对象。
| UIComponent | |
![]() |
返回指定对象的原始值。
| Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
| EventDispatcher | |
| iconField | 属性 |
iconField:String [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置用于提供项的图标的项字段。
注意:iconField 不在 iconFunction 属性设置为回调函数时使用。
默认值为 "icon".
public function get iconField():String
public function set iconField(value:String):void
RedBox 的元件必须位于库中,并且必须在其元件属性中选中“为 ActionScript 导出”:
import fl.data.DataProvider;
import fl.controls.List;
var dp:DataProvider = new DataProvider();
dp.addItem( { iconSource:RedBox, label:"Item 1" } );
dp.addItem( { iconSource:RedBox, label:"Item 2" } );
dp.addItem( { iconSource:RedBox, label:"Item 3" } );
var list:List = new List();
list.iconField = "iconSource";
list.dataProvider = dp;
addChild(list);| iconFunction | 属性 |
iconFunction:Function [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置用于获得项的图标的函数。
注意:iconField 不在 iconFunction 属性设置为回调函数时使用。
默认值为 null.
public function get iconFunction():Function
public function set iconFunction(value:Function):void
iconFunction 属性为列表中的一些项目提供图标。 若要此示例正常工作,名为 RedBox 的元件必须位于库中,并且必须在其元件属性中选中“为 ActionScript 导出”:
import fl.data.DataProvider;
import fl.controls.List;
var dp:DataProvider = new DataProvider();
dp.addItem( { label:"Item 1" } );
dp.addItem( { label:"Item 2" } );
dp.addItem( { label:"Item 3" } );
var list:List = new List();
list.iconFunction = determineIcon;
list.dataProvider = dp;
addChild(list);
function determineIcon(item:Object):String {
if(item.label == "Item 2") {
return "RedBox";
}
else {
return null;
}
}| labelField | 属性 |
labelField:String [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置 dataProvider 对象中的字段名称,该字段名称将显示为 TextInput 字段和下拉列表的标签。
默认情况下,组件将显示各 dataProvider 项目的 label 属性。 如果 dataProvider 项目不包含 label 属性,则可以设置 labelField 属性以使用其它属性。
注意:labelField 属性不在 labelFunction 属性设置为回调函数时使用。
默认值为 "label".
public function get labelField():String
public function set labelField(value:String):void
另请参见
abbreviatedLabel 属性(而不是默认的 label 属性)显示列表中的每个项目:
import fl.data.DataProvider;
import fl.controls.List;
var dp:DataProvider = new DataProvider();
dp.addItem( { abbreviatedLabel:"NY", label:"New York" } );
dp.addItem( { abbreviatedLabel:"CA", label:"California" } );
dp.addItem( { abbreviatedLabel:"WA", label:"Washington" } );
dp.addItem( { abbreviatedLabel:"CT", label:"Connecticut" } );
dp.addItem( { abbreviatedLabel:"VT", label:"Vermont" } );
var list:List = new List();
list.setSize(40,100);
list.labelField = "abbreviatedLabel"
list.dataProvider = dp;
addChild(list);| labelFunction | 属性 |
labelFunction:Function [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置用于获得项的标签的函数。
默认情况下,组件将显示 dataProvider 项目的 label 属性。 但某些数据集可能没有 label 字段,或者没有不需修改其值即可用作标签的字段。 例如,某给定数据集可能存储了全名,但将全名分开保存在 lastName 和 firstName 字段中。 在这种情况下,此属性可能用来设置一个回调函数,该函数将 lastName 和 firstName 字段的值连接在一起成为全名字符串以供显示。
注意:labelField 属性不在 labelFunction 属性设置为回调函数时使用。
默认值为 null.
public function get labelFunction():Function
public function set labelFunction(value:Function):void
labelFunction 属性设置为一个函数,该函数为要显示在每个单元格中的字符串设置格式:
import fl.data.DataProvider;
import fl.controls.List;
var myDataProvider:DataProvider = new DataProvider();
myDataProvider.addItem({name:"User A", price:0.43});
myDataProvider.addItem({name:"User B", price:0.34});
var users:List = new List();
users.dataProvider = myDataProvider;
users.labelFunction = myLabelFunction;
addChild(users);
function myLabelFunction(item:Object):String {
return item.name + " ($" + item.price.toFixed(2) + ")";
}| rowCount | 属性 |
rowCount:uint [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置在列表中至少部分可见的行的行数。
public function get rowCount():uint
public function set rowCount(value:uint):void
rowCount 属性来确定可能成为可见行的数量:
import fl.data.DataProvider;
import fl.controls.List;
var dp:DataProvider = new DataProvider();
var i:uint;
for(i=0; i<100; i++) {
dp.addItem( { label: "Item " + i } );
}
var list:List = new List();
list.setSize(100,300);
list.dataProvider = dp;
addChild(list);
trace(list.rowCount); // 15rowCount,根据滑块的当前值设置 List 组件的大小:
import fl.controls.Slider;
import fl.controls.List;
import fl.data.DataProvider;
import fl.events.SliderEvent;
var dp:DataProvider = new DataProvider();
var i:int;
for (i=0; i<8; i++) {
dp.addItem({label:"Item " + i});
}
var mySlider:Slider = new Slider();
mySlider.move(10, 10);
mySlider.tickInterval = 1;
mySlider.snapInterval = 1;
mySlider.minimum = 2;
mySlider.maximum = 9;
mySlider.liveDragging = true;
mySlider.addEventListener(SliderEvent.CHANGE, changeHandler);
addChild(mySlider);
var myList:List = new List();
myList.dataProvider = dp;
myList.move(mySlider.x, mySlider.y + 20);
myList.setSize(100, 50);
addChild(myList);
function changeHandler(event:SliderEvent):void {
myList.rowCount = event.value;
}
| rowHeight | 属性 |
rowHeight:Number [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置列表中每一行的高度,以像素为单位。
默认值为 20.
public function get rowHeight():Number
public function set rowHeight(value:Number):void
| List | () | 构造函数 |
public function List()
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
创建新的 List 组件实例。
| getStyleDefinition | () | 方法 |
public static function getStyleDefinition():Object
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
disabledTextFormat 样式包含 null 值或 TextFormat 对象。 可以使用这些样式并对当前组件调用 setStyle()。 下面的代码覆盖指定组件上默认的 disabledTextFormat 样式:
componentInstance.setStyle("disabledTextFormat", new TextFormat());返回
Object — 默认样式对象。
|
另请参见
import fl.controls.*;
import fl.containers.*;
import fl.controls.listClasses.*;
import fl.controls.dataGridClasses.*;
import fl.controls.progressBarClasses.*;
import fl.core.UIComponent;
import fl.data.DataProvider;
var dp:DataProvider = new DataProvider();
dp.addItem( { label: "BaseScrollPane", data:BaseScrollPane } );
dp.addItem( { label: "Button", data:Button } );
dp.addItem( { label: "CellRenderer", data:CellRenderer } );
dp.addItem( { label: "CheckBox", data:CheckBox } );
dp.addItem( { label: "ColorPicker", data:ColorPicker } );
dp.addItem( { label: "ComboBox", data:ComboBox } );
dp.addItem( { label: "DataGrid", data:DataGrid } );
dp.addItem( { label: "HeaderRenderer", data:HeaderRenderer } );
dp.addItem( { label: "ImageCell", data:ImageCell } );
dp.addItem( { label: "IndeterminateBar",data:IndeterminateBar } );
dp.addItem( { label: "Label", data:Label } );
dp.addItem( { label: "List", data:List } );
dp.addItem( { label: "NumericStepper", data:NumericStepper } );
dp.addItem( { label: "ProgressBar", data:ProgressBar } );
dp.addItem( { label: "RadioButton", data:RadioButton } );
dp.addItem( { label: "ScrollPane", data:ScrollPane } );
dp.addItem( { label: "Slider", data:Slider } );
dp.addItem( { label: "TextArea", data:TextArea } );
dp.addItem( { label: "TextInput", data:TextInput } );
dp.addItem( { label: "TileList", data:TileList } );
dp.addItem( { label: "UILoader", data:UILoader } );
dp.addItem( { label: "UIComponent", data:UIComponent } );
var cb:ComboBox = new ComboBox();
cb.move(10,10);
cb.setSize(300,25);
cb.prompt = "Select a component to view its styles";
cb.rowCount = 12;
cb.dataProvider = dp;
cb.addEventListener(Event.CHANGE, showStyleDefinition);
addChild(cb);
var dg:DataGrid = new DataGrid();
dg.setSize(425,300);
dg.move(10,50);
dg.columns = [ new DataGridColumn("StyleName"), new DataGridColumn("DefaultValue") ];
addChild(dg);
function showStyleDefinition(e:Event):void {
var componentClass:Class = e.target.selectedItem.data as Class;
var styles:Object = componentClass["getStyleDefinition"].call(this);
trace(styles.toString());
var styleData:DataProvider = new DataProvider();
for(var i:* in styles) {
trace(i + " : " + styles[i]);
styleData.addItem( { StyleName:i, DefaultValue:styles[i] } );
}
styleData.sortOn("StyleName");
dg.dataProvider = styleData;
}| itemToLabel | () | 方法 |
public function itemToLabel(item:Object):String
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
基于 labelField 和 labelFunction 属性检索渲染器将为给定数据对象显示的字符串。
注意:labelField 不在 labelFunction 属性设置为回调函数时使用。
参数
item:Object — 要呈现的对象。
|
String — 根据数据要显示的字符串。
|
import fl.controls.List;
import fl.data.DataProvider;
import fl.events.ListEvent;
var myDataProvider:DataProvider = new DataProvider();
myDataProvider.addItem({label:"Carrot", price:0.43});
myDataProvider.addItem({label:"Tomato", price:0.34});
myDataProvider.addItem({label:"Blueberry", price:0.72});
myDataProvider.addItem({label:"Turnip", price:0.24});
var myList:List = new List();
myList.setSize(300,80);
myList.dataProvider = myDataProvider;
myList.labelFunction = myLabelFunction;
myList.addEventListener(ListEvent.ITEM_ROLL_OVER, announceLabel);
addChild(myList);
function myLabelFunction(item:Object):String {
return item.label + " - Current price: ($" + item.price.toFixed(2) + ")";
}
function announceLabel(e:ListEvent):void {
var list:List = e.target as List;
var item:Object = e.item;
trace("Label: " + item.label);
trace("Label displayed: " + list.itemToLabel(item));
}| scrollToIndex | () | 方法 |
public override function scrollToIndex(newCaretIndex:int):void
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
参数
newCaretIndex:int — 要滚动到的索引位置。
|
若要运行该示例,请按照下列步骤操作:
package
{
import flash.display.Sprite
public class ListExample extends Sprite
{
import fl.controls.Button;
import fl.controls.Label;
import fl.controls.List;
import fl.data.DataProvider;
import flash.events.*;
private var clearButton:Button;
private var availableItems:List;
private var selectedItemList:List;
private var selectedItemsList:List;
public function ListExample() {
createComponents();
setupComponents();
}
private function setupComponents():void {
var dp:Array = new Array();
var i:uint;
var count:uint = availableItems.rowCount * 2;
for (i = 0; i < count; i++) {
dp.push({label:"Item " + i});
}
availableItems.allowMultipleSelection = true;
availableItems.dataProvider = new DataProvider(dp);
availableItems.dataProvider = new DataProvider(dp);
availableItems.addEventListener(Event.CHANGE, updateLists);
clearButton.addEventListener(MouseEvent.CLICK, clearHandler);
}
private function clearHandler(event:MouseEvent):void {
availableItems.clearSelection();
// clear data providers
selectedItemList.dataProvider = new DataProvider();
selectedItemsList.dataProvider = new DataProvider();
}
private function updateLists(e:Event):void {
selectedItemList.dataProvider = availableItems.selectedItem ? new DataProvider([availableItems.selectedItem]) : new DataProvider();
selectedItemsList.dataProvider = new DataProvider(availableItems.selectedItems);
}
private function createComponents():void {
clearButton = new Button();
availableItems = new List();
selectedItemList = new List();
selectedItemsList = new List();
var availableItemsLabel:Label = new Label();
var selectedItemListLabel:Label = new Label();
var selectedItemsListLabel:Label = new Label();
clearButton.move(10,142);
availableItems.move(10,32);
selectedItemList.move(120,32);
selectedItemsList.move(230,32);
availableItemsLabel.move(10,10);
selectedItemListLabel.move(120,10);
selectedItemsListLabel.move(230,10);
clearButton.label = "Clear Selection"
availableItemsLabel.text = "Available Items";
selectedItemListLabel.text = "Selected Item";
selectedItemsListLabel.text = "All Selected Items";
addChild(clearButton);
addChild(availableItems);
addChild(selectedItemList);
addChild(selectedItemsList);
addChild(availableItemsLabel);
addChild(selectedItemListLabel);
addChild(selectedItemsListLabel);
}
}
}
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/fl/controls/List.html