包 | 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); // 15
rowCount
,根据滑块的当前值设置 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