包 | spark.components.gridClasses |
类 | public class GridItemRenderer |
继承 | GridItemRenderer Group GroupBase UIComponent FlexSprite Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
实现 | IGridItemRenderer |
子类 | AXMEnterpriseGridHeaderRenderer, DataGridItemRenderer, DefaultGridHeaderRenderer, DefaultGridHeaderRenderer |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
项呈示器与网格的每一列相关联。使用 GridColumn.itemRenderer
属性设置列的项呈示器。
默认情况下,项呈示器不会剪切至单元格的边界。如果您的呈示器扩展到单元格的边界之外,则您可以将 clipAndEnableScrolling
设置为 true
,以将呈示器剪切至单元格的边界。
不支持 DataGrid 项呈示器中的转换。GridItemRenderer 类已禁用了其 transitions
属性,因此对此进行设置也无效。
效率注意事项
DataGrid 滚动和启动性能与项呈示器复杂性以及 DataGrid 的 Scroller 中可见的项呈示器的数目直接相关。自定义 GridItemRenderer 实例需要被多次使用和重用,因此尽可能简单和高效地定义它们非常重要。
如果项呈示器的职责仅限于显示一行或多行文本,则开发人员应慎重考虑使用 DefaultItemRenderer 类,它使用起来非常经济(将仅部署在 Windows 上的应用程序,用户转而使用 UITextFieldGridItemRenderer 类可以获得一些其它的性能)。使用 GridItemRenderer 将 GridColumn 的 dataField 显示为文本的最高效方式是通过 id="labelDisplay"
标识 GridItemRenderer 的文本显示元素。labelDisplay 组件必须为类似于 Label
或 RichText
的 TextBase
子类。如果项呈示器中包含一些不依赖于项呈示器数据的其它元素,例如边框或其它图形元素,您可以采取此种方法,而不只使用 DefaultGridItemRenderer。
包含属性依赖于项呈示器数据的多个可视元素的项呈示器可以使用数据绑定定义这些属性的值。该方法将产生易于阅读和维护的 MXML 代码,如果可见项呈示器的数目有限,它的性能可能合适(请参阅 DataGrid requestedRowCount
和 requestedColumnCount
属性)。配置此类项呈示器的最高效方式是覆盖其 prepare()
方法并在那儿进行工作。每次重新显示呈示器时都会调用呈示器的 prepare()
方法,因此对其进行高效编码很重要。如果项呈示器处于某种状态,例如它在缓存内部值,您可以使用其 discard()
方法清除其状态。每次将呈示器移动到 DataGrid 的内部空闲列表以重用时都会调用 discard()
方法。
GridItemRenderer 应尽可能简单。要获得最佳性能,请将组件数目以及层次结构的深度降到最低。如果此方法适用,您可以使用显式位置和大小定义布局,而无需使用约束。带有 variableRowHeight="false"
(默认值)的 DataGrid 会更好地执行,这同样适用于 showDataTips="false"
(默认值)和 clipAndEnableScrolling="false"
(默认值)。
此处介绍的各种 GridItemRenderer 配置示例可以在示例部分中找到。
默认 MXML 属性mxmlContent
相关 API 元素
spark.components.Grid
spark.components.gridClasses.GridColumn
spark.components.gridClasses.GridColumn.itemRenderer
spark.skins.spark.DefaultGridItemRenderer
属性 | 由以下参数定义 | ||
---|---|---|---|
accessibilityDescription : String
一个方便的存取器,用于访问此 UIComponent 的 accessibilityProperties 对象的 description 属性。 | UIComponent | ||
accessibilityEnabled : Boolean
一个方便的存取器,用于访问此 UIComponent 的 accessibilityProperties 对象的 silent 属性。 | UIComponent | ||
accessibilityImplementation : AccessibilityImplementation
InteractiveObject 实例的当前辅助功能实现 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityName : String
一个方便的存取器,用于访问此 UIComponent 的 accessibilityProperties 对象的 name 属性。 | UIComponent | ||
accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。 | DisplayObject | ||
accessibilityShortcut : String
一个方便的存取器,用于访问此 UIComponent 的 accessibilityProperties 对象的 shortcut 属性。 | UIComponent | ||
activeEffects : Array [只读]
组件上当前播放的效果列表,如 EffectInstance 实例的 Array。 | UIComponent | ||
alpha : Number
表示指定对象的 Alpha 透明度值。 | DisplayObject | ||
autoLayout : Boolean
如果为 true,则在更改子项的位置或大小时完成度量和布局。 | GroupBase | ||
automationDelegate : Object
处理自动化相关功能的委托对象。 | UIComponent | ||
automationEnabled : Boolean [只读]
如果此组件启用了自动化,则为 true;否则为 false。 | UIComponent | ||
automationName : String
可用作此对象的标识符的名称。 | UIComponent | ||
automationOwner : DisplayObjectContainer [只读]
用于自动化目的的此组件的所有者。 | UIComponent | ||
automationParent : DisplayObjectContainer [只读]
用于自动化目的的此组件的父级。 | UIComponent | ||
automationTabularData : Object [只读]
IAutomationTabularData 接口的实现,可用于检索数据。 | UIComponent | ||
automationValue : Array [只读]
此值通常对应于对象的经呈示的外观,当对象在应用中以可视方式显示时,此值使标识符与该对象相关联。 | UIComponent | ||
automationVisible : Boolean [只读]
如果此组件对于自动化是可见的,则为 true;否则为 false。 | UIComponent | ||
baseline : Object
对于组件,此布局约束属性是基于类似命名的样式的外观。 | UIComponent | ||
baselinePosition : Number [覆盖] [只读]
组件第一行文本的基线的 y 坐标。 | Group | ||
baselinePositionElement : IVisualElement
用于计算 GroupBase 的 baselinePosition 的元素
| Group | ||
blendMode : String [覆盖]
BlendMode 类中的一个值,用于指定要使用的混合模式。 | Group | ||
blendShader : Shader [只写]
设置用于混合前景和背景的着色器。 | DisplayObject | ||
bottom : Object
对于组件,此布局约束属性是基于类似命名的样式的外观。 | UIComponent | ||
buttonMode : Boolean
指定此 sprite 的按钮模式。 | Sprite | ||
cacheAsBitmap : Boolean
如果设置为 true,则 Flash 运行时将缓存显示对象的内部位图表示形式。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果为非 null,则 Matrix 对象会定义显示对象在 cacheAsBitmap 设置为 true 时的呈现方式。 | DisplayObject | ||
cacheHeuristic : Boolean [只写]
供 Flex 使用,表示建议为对象实施位图缓存。 | UIComponent | ||
cachePolicy : String
指定此对象的位图缓存策略。 | UIComponent | ||
className : String [只读]
此实例的类的名称,如“Button”。 | UIComponent | ||
clipAndEnableScrolling : Boolean
如果为 true,指定将子代剪切到视区的边界。 | GroupBase | ||
column : GridColumn
表示与此项呈示器相关联的列的 GridColumn 对象。 | GridItemRenderer | ||
columnIndex : int [只读]
此项呈示器的单元格的列索引。 | GridItemRenderer | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
contentHeight : Number [只读]
视域的内容的高度。 | GroupBase | ||
contentMouseX : Number [只读]
返回鼠标在内容坐标系中的 x 位置。 | UIComponent | ||
contentMouseY : Number [只读]
返回内容坐标系中鼠标的 y 位置。 | UIComponent | ||
contentWidth : Number [只读]
视域的内容的宽度。 | GroupBase | ||
contextMenu : NativeMenu
指定与此对象相关联的上下文菜单。 | InteractiveObject | ||
currentState : String
组件的当前视图状态。 | UIComponent | ||
cursorManager : ICursorManager [只读]
获取控制此组件及其同级组件的光标的 CursorManager。 | UIComponent | ||
data : Object
与项呈示器相对应的网格行的数据提供程序项的值。 | GridItemRenderer | ||
depth : Number
确定容器内各项目的呈示顺序。 | UIComponent | ||
descriptor : UIComponentDescriptor
引用 UIComponentDescriptor(如果有),过去曾通过 createComponentFromDescriptor() 方法使用它来创建此 UIComponent 实例。 | UIComponent | ||
designLayer : DesignLayer
指定与该可视元素关联的可选 DesignLayer 实例。 | UIComponent | ||
document : Object
引用与此 UIComponent 相关联的文档对象。 | UIComponent | ||
doubleClickEnabled : Boolean [覆盖]
指定 UIComponent 对象是否接收 doubleClick 事件。 | UIComponent | ||
down : Boolean
在网格单元格中发生以下两个输入动作之一时,该属性设置为 true:按鼠标按键或按触摸屏。 | GridItemRenderer | ||
dragging : Boolean
如果正在拖动项呈示器(通常作为拖放操作的一部分),则包含 true。 | GridItemRenderer | ||
dropTarget : DisplayObject [只读]
指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 | Sprite | ||
enabled : Boolean
组件是否可以接受用户交互。 | UIComponent | ||
errorString : String
当验证程序监视组件并且验证失败时,组件的错误提示中将显示的文本。 | UIComponent | ||
explicitHeight : Number
指定该组件在组件坐标中显式高度(以像素为单位)的数字。 | UIComponent | ||
explicitMaxHeight : Number
布局过程中父级要考虑的组件最大建议高度。 | UIComponent | ||
explicitMaxWidth : Number
布局过程中父级要考虑的组件最大建议宽度。 | UIComponent | ||
explicitMinHeight : Number
布局过程中父级要考虑的组件最小建议高度。 | UIComponent | ||
explicitMinWidth : Number
布局过程中父级要考虑的组件最小建议宽度。 | UIComponent | ||
explicitWidth : Number
指定该组件在组件坐标中显式宽度(以像素为单位)的数字。 | UIComponent | ||
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | ||
flexContextMenu : IFlexContextMenu
此 UIComponent 的上下文菜单。 | UIComponent | ||
focusEnabled : Boolean
指示切换到此组件时,是否可以获得焦点。 | UIComponent | ||
focusManager : IFocusManager
获取控制此组件及其同级组件的焦点的 FocusManager。 | UIComponent | ||
focusPane : Sprite
与此对象相关联的焦点窗格。 | UIComponent | ||
focusRect : Object
指定此对象是否显示焦点矩形。 | InteractiveObject | ||
graphics : Graphics [只读]
指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘图命令。 | Sprite | ||
grid : Grid [只读]
返回与此项呈示器相关联的 Grid。 | GridItemRenderer | ||
hasFocusableChildren : Boolean
一个标志,指示子对象是否能够获得焦点。 | UIComponent | ||
hasLayoutMatrix3D : Boolean [只读]
如果元素具有 3D 矩阵,则为 true。 | UIComponent | ||
height : Number [覆盖]
指定组件在父坐标中的高度的数字(以像素为单位)。 | UIComponent | ||
hitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。 | Sprite | ||
horizontalCenter : Object
对于组件,此布局约束属性是基于类似命名的样式的外观。 | UIComponent | ||
horizontalScrollPosition : Number
组件的坐标系中视域原点(默认值为 (0,0),与组件的左上角相对应)的 x 坐标。 | GroupBase | ||
hovered : Boolean
如果项呈示器位于鼠标下,而 Grid 的 selectionMode 为 GridSelectionMode.SINGLE_CELL 或 GridSelectionMode.MULTIPLE_CELLS,或者如果鼠标在项呈示器所属的行中,而 Grid 的 selectionMode 为 GridSelectionMode.SINGLE_ROW 或 GridSelectionMode.MULTIPLE_ROWS,则包含 true。 | GridItemRenderer | ||
id : String
组件 ID。 | UIComponent | ||
includeInLayout : Boolean
指定此组件是否包含在父容器的布局中。 | UIComponent | ||
inheritingStyles : Object
此组件的继承样式链的开头内容。 | UIComponent | ||
initialized : Boolean
一个标志,用于确定某个对象是否已通过布局的所有三个阶段:提交、测量和布局(假设每个阶段都是必需的)。 | UIComponent | ||
instanceIndex : int [只读]
重复组件的索引。 | UIComponent | ||
instanceIndices : Array
一个 Array,包含从此 UIComponent 对象的父文档引用该对象所需的索引。 | UIComponent | ||
is3D : Boolean [只读]
当元素为 3D 时,则为 true。 | UIComponent | ||
isDocument : Boolean [只读]
如果此 UIComponent 实例为文档对象,则为 true。 | UIComponent | ||
isPopUp : Boolean
PopUpManager 将其设置为 true 以指示已弹出该组件。 | UIComponent | ||
label : String
要在项呈示器中显示的 String。 | GridItemRenderer | ||
labelDisplay : spark.components.supportClasses:TextBase
项呈示器中用于显示 label 属性的可选可视组件。 | GridItemRenderer | ||
layout : LayoutBase
此容器的 layout 对象。 | GroupBase | ||
layoutMatrix3D : Matrix3D [只写]
用于相对于其同级组件计算组件的布局的转换矩阵。 | UIComponent | ||
left : Object
对于组件,此布局约束属性是基于类似命名的样式的外观。 | UIComponent | ||
loaderInfo : LoaderInfo [只读]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | ||
luminosityClip : Boolean
控制发光度遮罩是否剪辑设置了遮罩的内容的属性。 | GroupBase | ||
luminosityInvert : Boolean
控制计算由发光度遮罩设置遮罩的图形元素的 RGB 颜色值的属性。 | GroupBase | ||
maintainProjectionCenter : Boolean
如果为 true,则该组件将使其投影矩阵在其边框的中央保持居中。 | UIComponent | ||
mask : DisplayObject [覆盖]
设置遮罩。 | GroupBase | ||
maskType : String
遮罩类型。 | GroupBase | ||
maxHeight : Number
布局过程中父级要考虑的组件最大建议高度。 | UIComponent | ||
maxWidth : Number
布局过程中父级要考虑的组件最大建议宽度。 | UIComponent | ||
measuredHeight : Number
组件的默认高度(以像素为单位)。 | UIComponent | ||
measuredMinHeight : Number
组件的默认最小高度(以像素为单位)。 | UIComponent | ||
measuredMinWidth : Number
组件的默认最小宽度(以像素为单位)。 | UIComponent | ||
measuredWidth : Number
组件的默认宽度(以像素为单位)。 | UIComponent | ||
metaData : Object
如果元数据是通过 PlaceObject4 标记与此 DisplayObject 的实例一起存储在 SWF 文件中的,则获取 DisplayObject 实例的元数据对象。 | DisplayObject | ||
minHeight : Number
布局过程中父级要考虑的组件最小建议高度。 | UIComponent | ||
minWidth : Number
布局过程中父级要考虑的组件最小建议宽度。 | UIComponent | ||
moduleFactory : IFlexModuleFactory
模块工厂用作上下文,用于为此组件使用嵌入字体以及查找用于控制此组件样式的样式管理器。 | UIComponent | ||
mouseChildren : Boolean
确定对象的子级是否支持鼠标或用户输入设备。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
指定此对象是否接收鼠标或其他用户输入、消息。 | InteractiveObject | ||
mouseEnabledWhereTransparent : Boolean
为 true 时,此属性确保 Group 的整个边界响应鼠标事件(如 click、roll over 等)。 | GroupBase | ||
mouseFocusEnabled : Boolean
单击时是否可获得焦点。 | UIComponent | ||
mouseX : Number [只读]
表示此鼠标或用户输入设备位置的 x 坐标,以像素为单位。 | DisplayObject | ||
mouseY : Number [只读]
表示此鼠标或用户输入设备位置的 y 坐标,以像素为单位。 | DisplayObject | ||
mxmlContent : Array [只写]
此 Group 的可视内容子项。 | Group | ||
name : String
表示 DisplayObject 的实例名称。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定当该 InteractiveObject 实例获得焦点时,是否显示虚拟键盘(显示在屏幕上的软键盘)。 | InteractiveObject | ||
nestLevel : int
此对象在所属关系层次结构中的深度。 | UIComponent | ||
nonInheritingStyles : Object
此组件的非继承样式链的开头内容。 | UIComponent | ||
numAutomationChildren : int [只读]
此容器包含的自动化子项数。 | UIComponent | ||
numElements : int [只读]
此容器中的可视元素的数量。 | GroupBase | ||
opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | ||
overlay : DisplayLayer [只读]
此 Group 的叠加平面。 | GroupBase | ||
owner : DisplayObjectContainer
此 IVisualElement 对象的所有者。 | UIComponent | ||
parent : DisplayObjectContainer [覆盖] [只读]
此组件的父容器或组件。 | UIComponent | ||
parentApplication : Object [只读]
引用包含此 UIComponent 实例的 Application 对象。 | UIComponent | ||
parentDocument : Object [只读]
引用此 UIComponent 的父文档对象。 | UIComponent | ||
percentHeight : Number
以组件父代大小百分比的方式指定组件高度。 | UIComponent | ||
percentWidth : Number
以组件父代大小百分比的方式指定组件宽度。 | UIComponent | ||
postLayoutTransformOffsets : mx.geom:TransformOffsets
定义能够应用于对象转换且在一定程度上对其父布局不可视的一组调整。 | UIComponent | ||
processedDescriptors : Boolean
临时或延迟子项创建操作后设置为 true,具体取决于发生对象。 | UIComponent | ||
repeater : IRepeater [只读]
对生成此 UIComponent 的父文档中 Repeater 对象的引用。 | UIComponent | ||
repeaterIndex : int [只读]
项目在生成此 UIComponent 的 Repeater 数据提供程序中的索引。 | UIComponent | ||
repeaterIndices : Array
一个 Array,包含项目在生成此 UIComponent 的父文档的 Repeater 数据提供程序中的索引。 | UIComponent | ||
repeaters : Array
一个 Array,包含对生成此 UIComponent 的父文档中 Repeater 对象的引用。 | UIComponent | ||
resizeMode : String
此容器的 ResizeMode。 | GroupBase | ||
right : Object
对于组件,此布局约束属性是基于类似命名的样式的外观。 | UIComponent | ||
root : DisplayObject [只读]
对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 | DisplayObject | ||
rotation : Number [覆盖]
表示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | UIComponent | ||
rotationX : Number [覆盖]
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 | UIComponent | ||
rotationY : Number [覆盖]
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 | UIComponent | ||
rotationZ : Number [覆盖]
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 z 轴旋转(以度为单位)。 | UIComponent | ||
rowIndex : int
正在呈示的单元格的从零开始的行索引。 | GridItemRenderer | ||
scale9Grid : Rectangle
当前有效的缩放网格。 | DisplayObject | ||
scaleGridBottom : Number
指定刻度网格的底部坐标。 | Group | ||
scaleGridLeft : Number
指定刻度网格的左侧坐标。 | Group | ||
scaleGridRight : Number
指定刻度网格的右侧坐标。 | Group | ||
scaleGridTop : Number
指定刻度网格的顶部坐标。 | Group | ||
scaleX : Number [覆盖]
用于指定水平缩放系数的数字。 | UIComponent | ||
scaleY : Number [覆盖]
用于指定垂直缩放系数的数字。 | UIComponent | ||
scaleZ : Number [覆盖]
指定沿着 z 轴的缩放因子的数值。 | UIComponent | ||
screen : Rectangle [只读]
返回包含此对象的基本绘图表面大小和位置的对象。 | UIComponent | ||
scrollRect : Rectangle
显示对象的滚动矩形范围。 | DisplayObject | ||
selected : Boolean
如果项呈示器的单元格属于当前选定内容,则包含 true。 | GridItemRenderer | ||
showInAutomationHierarchy : Boolean
用于确定自动化对象是否显示在自动化层次中的标志。 | UIComponent | ||
showsCaret : Boolean
如果插入标记指明项呈示器的单元格,则包含 true。 | GridItemRenderer | ||
softKeyboard : String
控制软键盘的外观。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定义当显示软键盘时应在屏幕上保留的区域(在 iOS 上不支持)。 | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
控制此 sprite 中的声音。 | Sprite | ||
stage : Stage [只读]
显示对象的舞台。 | DisplayObject | ||
states : Array
为此组件定义的视图状态。 | UIComponent | ||
styleDeclaration : CSSStyleDeclaration
存储此对象的内嵌继承样式。 | UIComponent | ||
styleManager : IStyleManager2 [只读]
返回此组件使用的 StyleManager 实例。 | UIComponent | ||
styleName : Object
此组件使用的类样式。 | UIComponent | ||
styleParent : IAdvancedStyleClient
组件的父项用于评估后代选择器。 | UIComponent | ||
systemManager : ISystemManager
返回此组件使用的 SystemManager 对象。 | UIComponent | ||
tabChildren : Boolean
确定对象的子项是否支持 Tab 键。 | DisplayObjectContainer | ||
tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。 | InteractiveObject | ||
tabFocusEnabled : Boolean
一个标志,指示该对象是否能够通过 Tab 键获得焦点。这与 Flash Player 使用的 tabEnabled 属性类似。对于处理键盘输入的组件该标志通常为 true,但是控件栏中的一些组件将其设置为 false,因为它们不能像编辑器一样从另外的组件窃取焦点。 | UIComponent | ||
tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。 | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [只读]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 | DisplayObjectContainer | ||
toolTip : String
要在 ToolTip 中显示的文本。 | UIComponent | ||
top : Object
对于组件,此布局约束属性是基于类似命名的样式的外观。 | UIComponent | ||
transform : flash.geom:Transform [覆盖]
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | UIComponent | ||
transformX : Number
设置组件转换中心的 x 坐标。 | UIComponent | ||
transformY : Number
设置组件转换中心的 y 坐标。 | UIComponent | ||
transformZ : Number
设置组件转换中心的 z 坐标。 | UIComponent | ||
tweeningProperties : Array
当前在此对象上进行补间的属性数组。 | UIComponent | ||
uid : String
对象的唯一标识符。 | UIComponent | ||
updateCompletePendingFlag : Boolean
一个标志,确定某个对象是否已通过所有三个阶段的布局验证(假设需要通过所有验证)。 | UIComponent | ||
useHandCursor : Boolean
布尔值,表示当指针滑过 buttonMode 属性设置为 true 的 sprite 时是否显示指针手形(手形光标)。 | Sprite | ||
validationSubField : String
供验证程序用来将子字段与此组件相关联。 | UIComponent | ||
verticalCenter : Object
对于组件,此布局约束属性是基于类似命名的样式的外观。 | UIComponent | ||
verticalScrollPosition : Number
组件的坐标系中视区的原点(默认值为 (0,0),与组件的左上角相对应)的 y 坐标。 | GroupBase | ||
visible : Boolean [覆盖]
显示对象是否可见。 | UIComponent | ||
width : Number [覆盖]
指定组件在父坐标中的宽度的数字(以像素为单位)。 | UIComponent | ||
x : Number [覆盖]
指定组件在其父容器中的水平位置(以像素为单位)的数字。 | UIComponent | ||
y : Number [覆盖]
指定组件在其父容器中的垂直位置(以像素为单位)的数字。 | UIComponent | ||
z : Number [覆盖]
表示 DisplayObject 实例相对于 3D 父容器沿 z 轴的 z 坐标位置。 | UIComponent |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | GridItemRenderer | ||
将可视元素添加到此容器中。 | Group | ||
将可视元素添加到此容器中。 | Group | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
将非可视样式客户端添加到该组件实例。 | UIComponent | ||
表示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。 | DisplayObjectContainer | ||
排队稍后调用的函数。 | UIComponent | ||
删除此组件实例的样式属性。 | UIComponent | ||
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。 | DisplayObjectContainer | ||
确定指定的 IVisualElement 是否为容器实例的子代或该实例本身。 | GroupBase | ||
将 Point 对象由内容坐标转换为全局坐标。 | UIComponent | ||
将 Point 对象由内容坐标转换为本地坐标。 | UIComponent | ||
返回标识此容器中的子项的一组属性。 | UIComponent | ||
返回标识此容器中的子项的一组属性。 | UIComponent | ||
在 IUIComponent 对象的父项文档对象上创建对此对象的 id 引用。 | UIComponent | ||
在 IUIComponent 对象的父项文档对象上删除对此对象的 id 引用。 | UIComponent | ||
返回与此 UIComponent 的文本样式对应的 UITextFormat 对象。 | UIComponent | ||
在已确定此呈示器将不再可见时,从项呈示器父代的 updateDisplayList() 方法调用。 | GridItemRenderer | ||
[覆盖]
将事件调度到事件流中。 | UIComponent | ||
在此组件周围显示或隐藏焦点指示符。 | UIComponent | ||
drawRoundRect(x:Number, y:Number, w:Number, h:Number, r:Object = null, c:Object = null, alpha:Object = null, rot:Object = null, gradient:String = null, ratios:Array = null, hole:Object = null):void
通过编程方式在此外观的 Graphics 对象中绘制一个矩形。 | UIComponent | ||
停止在组件上播放效果实例时,由效果实例调用。 | UIComponent | ||
开始在组件上播放效果实例时,由效果实例调用。 | UIComponent | ||
结束组件上当前播放的所有效果。 | UIComponent | ||
执行 UIComponent 对象是目标的所有绑定。 | UIComponent | ||
打印完成后调用。 | UIComponent | ||
在指定的索引位置提供自动化对象。 | UIComponent | ||
提供自动化对象列表。 | UIComponent | ||
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | DisplayObject | ||
按指定的元素大小,返回元素边界的 x 坐标。 | UIComponent | ||
按指定的元素大小,返回元素边界的 y 坐标。 | UIComponent | ||
返回具有指定名称的子显示对象。 | DisplayObjectContainer | ||
查找此 UIComponent 实例的类型选择器。 | UIComponent | ||
返回一个约束布局值,这与获取此组件的约束样式的方式类似。 | UIComponent | ||
返回指定索引处的可视元素。 | GroupBase | ||
返回可视元素的索引位置。 | GroupBase | ||
确定是使用显式高度还是测量高度的一种简便方法
| UIComponent | ||
确定是使用显式宽度还是测量宽度的一种简便方法
| UIComponent | ||
获取当前具有焦点的对象。 | UIComponent | ||
返回对水平滚动位置的更改以处理不同的滚动选项。 | GroupBase | ||
返回元素的布局高度。 | UIComponent | ||
返回元素的布局宽度。 | UIComponent | ||
返回元素在屏幕上进行绘制时所用的 x 坐标。 | UIComponent | ||
返回元素在屏幕上进行绘制时所用的 y 坐标。 | UIComponent | ||
返回用于相对于其同级组件计算组件的布局的转换矩阵。 | UIComponent | ||
返回此元素的布局转换 Matrix3D。 | UIComponent | ||
返回元素的最大高度。 | UIComponent | ||
返回元素的最大宽度。 | UIComponent | ||
返回元素的最小高度。 | UIComponent | ||
返回元素的最小宽度。 | UIComponent | ||
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。 | DisplayObjectContainer | ||
返回元素的首选高度。 | UIComponent | ||
返回元素的首选宽度。 | UIComponent | ||
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | DisplayObject | ||
返回 dataProvider 中由指定的 Repeater 用来生成此 Repeater 的项目;如果此 Repeater 未重复,则返回 null。 | UIComponent | ||
获取已在此组件的样式查找链中的某个位置设置过的样式属性。 | UIComponent | ||
返回对垂直滚动位置的更改以处理不同的滚动选项。 | GroupBase | ||
支持 useVirtualLayout 标志的布局将在 updateDisplayList() 时使用此方法获取“处于视图中”的布局元素,即, | GroupBase | ||
将 Point 对象由全局坐标转换为内容坐标。 | UIComponent | ||
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | DisplayObject | ||
将二维点从舞台(全局)坐标转换为三维显示对象的(本地)坐标。 | DisplayObject | ||
如果 currentCSSState 不为 null,则返回 true。 | UIComponent | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
确定是否已在此 UIComponent 上定义指定的状态。 | UIComponent | ||
计算显示对象的边框,以确定它是否与 obj 显示对象的边框重叠或相交。 | DisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | DisplayObject | ||
返回一个框 Matrix,在绘制水平渐变时可以将其作为 rot 参数传递给 drawRoundRect() 方法。 | UIComponent | ||
初始化此组件的内部结构。 | UIComponent | ||
初始化用于跟踪此组件的重复实例的各个属性。 | UIComponent | ||
标记组件,以便在稍后屏幕更新期间调用该组件的 updateDisplayList() 方法。 | UIComponent | ||
请注意元素已更改且需要重新绘制的主机组件。 | Group | ||
请注意元素已更改且需要验证属性的主机组件。 | Group | ||
请注意元素图层已更改的主机。 | Group | ||
请注意元素大小已更改的主机组件。 | Group | ||
由某个组件的项目进行调用,以指示其 depth 属性已更改。 | UIComponent | ||
当某元素的 layoutDirection 更改或其父代的 layoutDirection 更改时,该元素必须调用该方法。 | UIComponent | ||
标记组件,以便在稍后屏幕更新期间调用该组件的 commitProperties() 方法。 | UIComponent | ||
标记组件,以便在稍后屏幕更新期间调用该组件的 measure() 方法。 | UIComponent | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
将三维显示对象的(本地)坐标的三维点转换为舞台(全局)坐标中的二维点。 | DisplayObject | ||
将 Point 对象由本地坐标转换为内容坐标。 | UIComponent | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | ||
如果 cssState 与 currentCSSState 匹配,则返回 true。 | UIComponent | ||
确定此实例与给定类型相同,还是属于给定类型的子类。 | UIComponent | ||
测量指定的 HTML 文本(该文本中可能包含 <font> 和 <b> 等 HTML 标签),假定该文本显示在单行 UITextField(使用由此 UIComponent 的样式确定的 UITextFormat)中。 | UIComponent | ||
测量指定的文本,假定该文本使用由此 UIComponent 的样式确定的 UITextFormat 显示在单行 UITextField(或 UIFTETextField)中。 | UIComponent | ||
将组件移动到其父项内的指定位置。 | UIComponent | ||
将样式更改传播到子项。 | UIComponent | ||
如果 owner 属性链从 child 指向此 UIComponent,则返回 true。 | UIComponent | ||
当在父项中添加或删除 UIComponent 对象时由 Flex 调用。 | UIComponent | ||
在设置了呈示器的所有属性后,从项呈示器父代的 updateDisplayList() 方法调用。 | GridItemRenderer | ||
准备 IFlexDisplayObject 用于打印。 | UIComponent | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
为此组件及其所有后代生成或重新生成 CSS 样式缓存,前提条件是递归参数为 true。 | UIComponent | ||
针对每个效果事件,将 EffectManager 注册为一个事件侦听器。 | UIComponent | ||
从容器中删除所有可视元素。 | Group | ||
从 DisplayObjectContainer 实例的子级列表中删除所有子 DisplayObject 实例。 | DisplayObjectContainer | ||
从此容器的子列表中删除指定的可视元素。 | Group | ||
从容器中的指定索引位置删除可视元素。 | Group | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
从该组件实例删除非可视样式客户端。 | UIComponent | ||
重放指定的事件。 | UIComponent | ||
显示虚拟键盘。 | InteractiveObject | ||
使用提供的 ID 解析子项。 | UIComponent | ||
[静态]
在调用 suspendBackgroundProcessing() 之后继续对使用 callLater() 排队的方法进行背景处理。 | UIComponent | ||
调整对象大小。 | UIComponent | ||
设置一个布局约束值的方式,与设置此组件的约束样式的方式相同。 | UIComponent | ||
设置 contentWidth 和 contentHeight 属性。 | GroupBase | ||
设置当前状态。 | UIComponent | ||
在可视容器中更改现有可视元素的位置。 | Group | ||
设置此组件的焦点。 | UIComponent | ||
设置元素在屏幕上进行绘制时所用的坐标。 | UIComponent | ||
设置元素的布局大小。 | UIComponent | ||
设置用于相对于其同级组件计算组件的布局大小和位置的转换 Matrix。 | UIComponent | ||
设置用于计算组件相对于其同级组件的布局大小和位置的转换 Matrix3D。 | UIComponent | ||
设置循环操作动态属性的可用性。 | Object | ||
对此组件实例设置样式属性。 | UIComponent | ||
当 visible 属性发生更改时调用。 | UIComponent | ||
允许用户拖动指定的 Sprite。 | Sprite | ||
使用户可以在启用触摸的设备上拖动指定的 Sprite。 | Sprite | ||
对源起于此对象的所有 MovieClip 递归停止时间轴执行。 | DisplayObjectContainer | ||
结束 startDrag() 方法。 | Sprite | ||
结束 startTouchDrag() 方法,用于启用触摸的设备。 | Sprite | ||
检测对样式属性的更改。 | UIComponent | ||
首次初始化组件样式时,Flex 会调用 stylesInitialized() 方法。 | UIComponent | ||
[静态]
阻止对使用 callLater() 排队的方法进行背景处理,直到调用 resumeBackgroundProcessing() 为止。 | UIComponent | ||
交换两个指定可视元素的索引。 | Group | ||
交换容器中位于两个指定索引位置的可视元素。 | Group | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
[覆盖]
返回一个字符串,用于指示此对象在应用程序的 DisplayObject 层次结构中所处的位置。 | FlexSprite | ||
transformAround(transformCenter:Vector3D, scale:Vector3D = null, rotation:Vector3D = null, translation:Vector3D = null, postLayoutScale:Vector3D = null, postLayoutRotation:Vector3D = null, postLayoutTranslation:Vector3D = null, invalidateLayout:Boolean = true):void
用于更新转换的旋转、缩放和平移的一种实用程序方法,同时保留某个特定点,该点是在组件自己的坐标空间中指定的,且在父项的坐标空间中是固定的。 | UIComponent | ||
一种实用程序方法,用于将以该对象的本地坐标指定的点转换为在该对象父坐标中的相应位置。 | UIComponent | ||
验证子项的位置和大小,并绘制其他可视内容。 | UIComponent | ||
验证并更新此对象的属性和布局,如果需要的话重绘对象。 | UIComponent | ||
由布局逻辑用于通过调用 commitProperties() 方法来验证组件的属性。 | UIComponent | ||
如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateSize() 方法,随后在测量时调用了 validateSize() 方法,则验证组件的度量大小。 | UIComponent | ||
处理分配给此组件的验证程序调度的 valid 和 invalid 事件。 | UIComponent | ||
返回指定对象的原始值。 | Object | ||
返回一个框 Matrix,在绘制垂直渐变时可以将其作为 rot 参数传递给 drawRoundRect()。 | UIComponent | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 由以下参数定义 | ||
---|---|---|---|
调整焦点矩形。 | UIComponent | ||
提交计算的矩阵,该矩阵是基于布局矩阵以及 flash displayObject 的转换的转换偏移量而构建的。 | UIComponent | ||
这是一个内部方法,供 Flex 框架用于支持 Dissolve 效果。 | UIComponent | ||
确定是否可以跳过对 measure() 方法的调用。 | UIComponent | ||
创建子对象后执行任何最终处理。 | UIComponent | ||
处理对组件设置的属性。 | UIComponent | ||
[覆盖]
如果尚未设置布局对象,则 createChildren() 会为该容器指定默认布局对象 BasicLayout。
| GroupBase | ||
根据所用的嵌入字体使用上下文创建新对象。 | UIComponent | ||
使用给定的 moduleFactory 创建对象。 | UIComponent | ||
更新属性时调度 PropertyChangeEvent 的 Helper 方法。 | UIComponent | ||
当 UIComponent 对象获得焦点时调用的事件处理函数。 | UIComponent | ||
当 UIComponent 对象失去焦点时调用的事件处理函数。 | UIComponent | ||
返回要应用到呈示器的状态的名称。 | GridItemRenderer | ||
对于组件的某些不常使用的高级布局功能,初始化其实现和存储。 | UIComponent | ||
完成对此组件的初始化。 | UIComponent | ||
初始化此组件的辅助功能代码。 | UIComponent | ||
此对象影响其布局时(includeInLayout 为 true),使父代大小和显示列表失效的 Helper 方法。 | UIComponent | ||
通常由包含 UITextField 对象的组件覆盖,其中 UITextField 对象获取焦点。 | UIComponent | ||
为 keyDown 事件调用的事件处理函数。 | UIComponent | ||
为 keyUp 事件调用的事件处理函数。 | UIComponent | ||
计算组件的默认大小和(可选)默认最小大小。 | UIComponent | ||
构建 UIComponent 时将调用此方法,并且每当 ResourceManager 调度“change”事件用于指示本地化资源已经过某种更改时,都会再次调用此方法。 | UIComponent | ||
在水平方向和垂直方向上,指定转换拉伸因子。 | UIComponent | ||
当状态改变以检查状态特定的样式是否应用到此组件时,会调用此方法。 | UIComponent | ||
绘制对象和/或设置其子项的大小和位置。 | UIComponent |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
当组件通过使用 addChild()、addChildAt()、addElement() 或 addElementAt() 方法作为内容子项添加到容器后调度。 | UIComponent | |||
将显示对象添加到显示列表中时调度。 | DisplayObject | |||
在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。 | DisplayObject | |||
当用户从文本上下文菜单中选择“清除”(或“删除”)时调度。 | InteractiveObject | |||
用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。 | InteractiveObject | |||
当用户手势触发 AIR 应用程序中与此交互式对象相关联的上下文菜单时调度。 | InteractiveObject | |||
在用户为复制操作激活特定于平台的加速键组合或从文本上下文菜单中选择“复制”时调度。 | InteractiveObject | |||
当组件完成其构建、属性处理、测量、布置和绘制时调度。 | UIComponent | |||
视图状态更改后调度。 | UIComponent | |||
在 currentState 属性更改后但视图状态更改前调度。 | UIComponent | |||
在用户为剪切操作激活特定于平台的加速键组合或从文本上下文菜单中选择“剪切”时调度。 | InteractiveObject | |||
当 data 属性更改时进行调度。 | GridItemRenderer | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
如果 InteractiveObject 的 doubleClickEnabled 标志设置为 true,当用户在该对象上快速连续按下两次并释放指针设备的主按钮时调度。 | InteractiveObject | |||
在拖动操作完成时(将拖动的数据放到放置目标时或在没有执行放置操作的情况下结束拖放操作时)由拖动启动器(作为要拖动的数据源的组件)调度。 | UIComponent | |||
用户在放置目标上释放鼠标时由放置目标调度。 | UIComponent | |||
当用户在拖动操作过程中将鼠标移动到某个组件所处的位置时,由该组件调度。 | UIComponent | |||
用户在组件外拖动但没有将数据放置到目标时,由组件调度。 | UIComponent | |||
在拖动操作期间,当用户在鼠标位于组件上方的情况下移动鼠标时,由组件调度。 | UIComponent | |||
启动拖动操作时,由拖动启动器调度。 | UIComponent | |||
在一个效果结束后调度。 | UIComponent | |||
在即将开始播放效果前调度。 | UIComponent | |||
在停止某个效果(仅当对该效果调用 stop() 时发生)之后调度。 | UIComponent | |||
将可视元素添加到内容容器时调度。 | Group | |||
从内容容器中删除可视元素时调度。 | Group | |||
[播放事件] 播放头进入新帧时调度。 | DisplayObject | |||
在组件已进入视图状态之后调度。 | UIComponent | |||
[广播事件] 播放头退出当前帧时调度。 | DisplayObject | |||
在组件即将退出视图状态之前调度。 | UIComponent | |||
显示对象获得焦点后调度。 | InteractiveObject | |||
显示对象失去焦点后调度。 | InteractiveObject | |||
[广播事件] 在帧显示对象的构造函数运行之后但在帧脚本运行之前调度。 | DisplayObject | |||
当用户使用 InteractiveObject 实例沿触摸面边缘创建接触点时调度(如在 Siri Remote for Apple TV 上沿触摸面边缘轻击)。有些设备也可能将这种接触解释为多个触摸事件的组合。 | InteractiveObject | |||
当用户在启用触摸设备上的同一 InteractiveObject 实例上按下两个接触点时(例如,在配有触摸屏的移动电话或平板电脑上的显示对象上按下和释放两个手指)调度。 | InteractiveObject | |||
当用户在启用触摸的设备上的 InteractiveObject 实例上移动接触点时(例如,在配有触摸屏的移动电话或平板电脑上的显示对象上从左向右移动手指)调度。 | InteractiveObject | |||
当用户在接触点处使用 InteractiveObject 实例执行旋转手势时(例如,将两个手指放在屏幕上,然后在配有触摸屏的移动电话或平板电脑上的显示对象上旋转这两个手指)调度。 | InteractiveObject | |||
当用户在接触点处使用 InteractiveObject 实例执行滑动手势(例如,在配有触摸屏的移动电话或平板电脑上用三根手指触摸屏幕,然后在一个显示对象上平行移动这三根手指)时调度。 | InteractiveObject | |||
当用户使用 InteractiveObject 实例创建接触点,然后点击启用触屏的设备时(例如,将几个手指放在显示对象上以打开菜单,然后点击一个手指在配有触摸屏的移动电话或平板电脑上选择一个菜单项)调度。 | InteractiveObject | |||
当用户在接触点处使用 InteractiveObject 实例执行缩放手势操作时(例如,将两个手指放在屏幕上,然后在配有触摸屏的移动电话或平板电脑上的显示对象上快速分开手指)调度。 | InteractiveObject | |||
当对象的状态从可见变为不可见时调度。 | UIComponent | |||
此事件被调度到任何支持使用 IME 进行内联输入的客户端应用程序 | InteractiveObject | |||
当组件完成构建并设置了所有初始化属性后调度。 | UIComponent | |||
当组件由 Validator 监控且未通过验证时调度。 | UIComponent | |||
用户按下某个键时调度。 | InteractiveObject | |||
用户尝试使用键盘导航更改焦点时调度。 | InteractiveObject | |||
用户释放某个键时调度。 | InteractiveObject | |||
当用户在同一 InteractiveObject 上按下并释放用户指针设备的中间按钮时调度。 | InteractiveObject | |||
当用户在 InteractiveObject 实例上按下指针设备的中间按钮时调度。 | InteractiveObject | |||
当用户在 InteractiveObject 实例上释放指针设备按钮时调度。 | InteractiveObject | |||
当用户在 InteractiveObject 实例上按下指针设备按钮时调度。 | InteractiveObject | |||
当用户在使用 PopUpManager 打开的某个组件外部单击时,从该组件调度。 | UIComponent | |||
用户尝试使用指针设备更改焦点时调度。 | InteractiveObject | |||
用户移动 InteractiveObject 上的指针设备时调度。 | InteractiveObject | |||
用户将指针设备从 InteractiveObject 实例上移开时调度。 | InteractiveObject | |||
用户将指针设备移动到 InteractiveObject 实例上时调度。 | InteractiveObject | |||
当用户在 InteractiveObject 实例上释放指针设备按钮时调度。 | InteractiveObject | |||
当鼠标滚轮滚动到 InteractiveObject 实例上时调度。 | InteractiveObject | |||
当用户使用鼠标滚轮滚动到使用 PopUpManager 打开的某个组件外部时,从该组件调度。 | UIComponent | |||
移动对象后调度。 | UIComponent | |||
当用户释放拖动手势时由拖动启动器 InteractiveObject 调度。 | InteractiveObject | |||
在将拖动对象放置到目标上且已通过对 DragManager.acceptDragDrop() 的调用接受该放置操作时,由目标 InteractiveObject 调度。 | InteractiveObject | |||
当拖动手势进入其边界时由 InteractiveObject 调度。 | InteractiveObject | |||
当拖动手势离开其边界时由 InteractiveObject 调度。 | InteractiveObject | |||
当拖动手势保持在其边界内时,由 InteractiveObject 持续调度。 | InteractiveObject | |||
在拖动操作开始时由在 DragManager.doDrag() 调用中指定为拖动启动器的 InteractiveObject 调度。 | InteractiveObject | |||
在拖动操作期间由在 DragManager.doDrag() 调用中指定为拖动启动器的 InteractiveObject 调度。 | InteractiveObject | |||
在用户为粘贴操作激活特定于平台的加速键组合或从文本上下文菜单中选择“粘贴”时调度。 | InteractiveObject | |||
在组件初始化序列开始时调度。 | UIComponent | |||
当用户将活动笔针放低经过屏幕的邻近检测阈值上时调度。 | InteractiveObject | |||
当用户将活动笔针抬高放在屏幕的邻近检测阈值上时调度。 | InteractiveObject | |||
当用户将活动笔针移动到屏幕上但仍保留在邻近检测阈值中时调度。 | InteractiveObject | |||
当用户直接将活动笔针从此 InteractiveObject 上移开但仍保留在屏幕的邻近检测阈值中时调度。 | InteractiveObject | |||
当用户直接将活动笔针移动到此 InteractiveObject 上但仍保留在屏幕的邻近检测阈值中时调度。 | InteractiveObject | |||
当用户从此 InteractiveObject 及其任一子项中移开而仍保留在屏幕的邻近检测阈值中时调度。 | InteractiveObject | |||
当用户将活动笔针从显示列表中子项的对象树中滑过此 InteractiveObject 时(而仍保留在屏幕的邻近检测阈值中)时调度。 | InteractiveObject | |||
在用户首先在 InteractiveObject 实例上按下按钮,然后将指针设备移离 InteractiveObject 实例,释放指针设备上的按钮时调度。 | InteractiveObject | |||
当组件通过使用 removeChild()、removeChildAt()、removeElement() 或 removeElementAt() 方法作为内容子项从容器中删除后调度。 | UIComponent | |||
将要从显示列表中删除显示对象时调度。 | DisplayObject | |||
在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。 | DisplayObject | |||
[广播事件] 将要更新和呈现显示列表时调度。 | DisplayObject | |||
在调整组件大小时调度。 | UIComponent | |||
当用户在同一 InteractiveObject 上按下并释放用户指针设备的右按钮时调度。 | InteractiveObject | |||
当用户在 InteractiveObject 实例上按下指针设备按钮时调度。 | InteractiveObject | |||
当用户在 InteractiveObject 实例上释放指针设备按钮时调度。 | InteractiveObject | |||
用户将指针设备从 InteractiveObject 实例上移开时调度。 | InteractiveObject | |||
用户将指针设备移动到 InteractiveObject 实例上时调度。 | InteractiveObject | |||
在用户为全选操作激活特定于平台的加速键组合或从文本上下文菜单中选择“全选”时调度。 | InteractiveObject | |||
当对象的状态从不可见变为可见时调度。 | UIComponent | |||
在放开软键盘之后立即调度。 | InteractiveObject | |||
在放开软键盘之前立即调度。 | InteractiveObject | |||
在隐藏软键盘之后立即调度。 | InteractiveObject | |||
在组件进入新状态且切换到该状态的状态转换动画已经播放完时调度。 | UIComponent | |||
在组件中断转换到当前状态从而切换到新状态时调度。 | UIComponent | |||
对象的 tabChildren 标志值发生更改时调度。 | InteractiveObject | |||
对象的 tabEnabled 标志发生更改时调度。 | InteractiveObject | |||
对象的 tabIndex 属性值发生更改时调度。 | InteractiveObject | |||
当用户输入一个或多个文本字符时调度。 | InteractiveObject | |||
要创建 ToolTip 时由组件调度。 | UIComponent | |||
已隐藏组件的 ToolTip 并要将其放弃时由组件调度。 | UIComponent | |||
要隐藏组件的 ToolTip 时由组件调度。 | UIComponent | |||
要显示组件的 ToolTip 时由组件调度。 | UIComponent | |||
显示组件的 ToolTip 时由组件调度。 | UIComponent | |||
用户将鼠标移动到设置了 toolTip 属性的组件上方后,由该组件调度。 | UIComponent | |||
当用户第一次触摸启用触摸的设备时(例如,用手指触摸配有触摸屏的移动电话或平板)调度。 | InteractiveObject | |||
当用户移除与启用触摸的设备的接触时(例如,将手指从配有触摸屏的移动电话或平板电脑上抬起)调度。 | InteractiveObject | |||
不可撤消事件,在组件结束响应 touch 交互用户操作时由组件调度。 | UIComponent | |||
不可撤消事件,在组件开始响应 touch 交互用户操作时由组件调度。 | UIComponent | |||
可撤消事件,在组件试图响应 touch 交互用户操作时由组件调度。 | UIComponent | |||
当用户触碰设备时进行调度,而且会连续调度,直到接触点被删除。 | InteractiveObject | |||
当用户将接触点从启用触摸的设备上的 InteractiveObject 实例移开时(例如,在配有触摸屏的移动电话或平板电脑上,将手指从一个显示对象拖到另一个显示对象)调度。 | InteractiveObject | |||
当用户在启用触摸的设备的 InteractiveObject 实例上移动接触点时(例如,在配有触摸屏的移动电话或平板电脑上,将手指从显示对象外的一点拖动到显示对象上的一点)调度。 | InteractiveObject | |||
当用户移动接触点,使其远离启用触摸的设备上的 InteractiveObject 实例时(例如,在配有触摸屏的移动电话或平板电脑上将一个手指从显示对象上的一点移动到显示对象外的一点)调度。 | InteractiveObject | |||
当用户在启用触摸的设备的 InteractiveObject 实例上移动接触点时(例如,在配有触摸屏的移动电话或平板电脑上,将手指从显示对象外的一点拖动到显示对象上的一点)调度。 | InteractiveObject | |||
当用户在启用触摸设备上的已启动接触的同一 InteractiveObject 实例上抬起接触点时(例如,在配有触摸屏的移动电话或平板的显示对象上的某一点处按下并释放手指)调度。 | InteractiveObject | |||
当调用了对象的 commitProperties()、measure() 和 updateDisplayList() 方法后调度(如果需要)。 | UIComponent | |||
当组件由 Validator 监控并且成功通过验证时调度。 | UIComponent | |||
当以编程方式或通过用户交互更改值时调度。 | UIComponent |
column | 属性 |
column:GridColumn
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
表示与此项呈示器相关联的列的 GridColumn 对象。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 columnChanged
事件。
实现
public function get column():GridColumn
public function set column(value:GridColumn):void
columnIndex | 属性 |
data | 属性 |
data:Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
与项呈示器相对应的网格行的数据提供程序项的值。此值与调用 dataProvider.getItemAt(rowIndex)
方法所返回的对象相对应。
项呈示器可以覆盖此属性定义以访问网格的整个行的数据。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 dataChange
事件。
实现
public function get data():Object
public function set data(value:Object):void
down | 属性 |
down:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
在网格单元格中发生以下两个输入动作之一时,该属性设置为 true
:按鼠标按键或按触摸屏。当释放鼠标按键、用户的手指离开触摸屏或将鼠标/触摸拖离网格单元格时,down
属性重置为 false
。
与 List 项呈示器不同,Grid 项呈示器不专门负责显示按下指示符。Grid 本身为所选行或单元格呈示按下指示符。项呈示器还可以更改其 visual 属性以强调正在按此项呈示器。
默认值为 false。
实现
public function get down():Boolean
public function set down(value:Boolean):void
dragging | 属性 |
grid | 属性 |
hovered | 属性 |
hovered:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
如果项呈示器位于鼠标下,而 Grid 的 selectionMode 为 GridSelectionMode.SINGLE_CELL
或 GridSelectionMode.MULTIPLE_CELLS
,或者如果鼠标在项呈示器所属的行中,而 Grid 的 selectionMode 为 GridSelectionMode.SINGLE_ROW
或 GridSelectionMode.MULTIPLE_ROWS
,则包含 true
。
与 List 项呈示器不同,Grid 项呈示器不专门负责显示内容以指明呈示器或其行位于鼠标下。Grid 本身为悬浮行或单元格自动显示 hoverIndicator 外观部件。Grid 项呈示器还可以更改其属性以强调在此项呈示器上悬浮。
默认值为 false。
实现
public function get hovered():Boolean
public function set hovered(value:Boolean):void
label | 属性 |
label:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
要在项呈示器中显示的 String。
如果 labelDisplay
元素已指定,GridItemRenderer 类会自动将该属性的值复制到该元素的 text
属性。Grid 将 label
设置为由列的 itemToLabel()
方法返回的值。
默认值为 ""。
此属性可用作数据绑定的源。修改此属性后,将调度 labelChanged
事件。
实现
public function get label():String
public function set label(value:String):void
labelDisplay | 属性 |
labelDisplay:spark.components.supportClasses:TextBase
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
项呈示器中用于显示 label
属性的可选可视组件。如果使用此属性指定可视组件,则组件的 text
属性与项呈示器的 label
属性保持同步。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 labelDisplayChanged
事件。
实现
public function get labelDisplay():spark.components.supportClasses:TextBase
public function set labelDisplay(value:spark.components.supportClasses:TextBase):void
rowIndex | 属性 |
selected | 属性 |
selected:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
如果项呈示器的单元格属于当前选定内容,则包含 true
。
与 List 项呈示器不同,Grid 项呈示器不专门负责显示内容以指明它们是选定内容的一部分。Grid 本身为选定行或单元格自动显示 selectionIndicator 外观部件。项呈示器还可以更改其 visual 属性以强调它属于选定内容。
默认值为 false。
此属性可用作数据绑定的源。修改此属性后,将调度 selectedChanged
事件。
实现
public function get selected():Boolean
public function set selected(value:Boolean):void
showsCaret | 属性 |
showsCaret:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
如果插入标记指明项呈示器的单元格,则包含 true
。
与 List 项呈示器不同,Grid 项呈示器不专门负责显示内容以指明它们的单元格或行含有插入标记。Grid 本身为插入标记行或单元格自动显示 caretIndicator 外观部件。项呈示器还可以更改其 visual 属性以强调它含有插入标记。
默认值为 false。
此属性可用作数据绑定的源。修改此属性后,将调度 showsCaretChanged
事件。
实现
public function get showsCaret():Boolean
public function set showsCaret(value:Boolean):void
GridItemRenderer | () | 构造函数 |
public function GridItemRenderer()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
构造函数。
discard | () | 方法 |
public function discard(willBeRecycled:Boolean):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
在已确定此呈示器将不再可见时,从项呈示器父代的 updateDisplayList()
方法调用。如果 willBeRecycled
参数设置为 true
,则所有者将此呈示器添加到其内部空闲列表以重用。实现可使用此方法清除任何不再需要的呈示器属性。
不可直接调用此方法。它将被 DataGrid 实现调用。
参数
willBeRecycled:Boolean — 如果要将此呈示器添加到所有者的内部空闲列表以重用,则为 true 。
|
getCurrentRendererState | () | 方法 |
protected function getCurrentRendererState():String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
返回要应用到呈示器的状态的名称。例如,一个基本项呈示器返回字符串“normal”、“hovered”或“selected”以指定呈示器的状态。在处理 touch 交互(或在选择被忽略的情况下的 mouse 交互)时,也可返回“down”和“downAndSelected”。
如果所需的行为与默认行为不同,则 GridItemRenderer 的子类必须覆盖此方法才会返回值。
在 Flex 4.0 中,三种主要状态为“normal”、“hovered”和“selected”。在 Flex 4.5 中,添加了“down”和“downAndSelected”。
支持的完整状态集如下所示(按照优先级的顺序):
- dragging
- downAndSelected
- selectedAndShowsCaret
- hoveredAndShowsCaret
- normalAndShowsCaret
- down
- selected
- hovered
- normal
String — 指定要应用到呈示器的状态的名称的字符串。
|
prepare | () | 方法 |
public function prepare(hasBeenRecycled:Boolean):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
在设置了呈示器的所有属性后,从项呈示器父代的 updateDisplayList()
方法调用。如果以前从未使用过此呈示器,则 hasBeenRecycled
参数为 false
,表示此呈示器不可再生。当呈示器将要可见时,每次因呈示器属性更改而重新显示呈示器时,或显式请求重新显示时,调用此方法。
此方法可以用来配置呈示器的所有可视元素和属性。使用此方法与将 data
属性绑定到可视元素属性相比,效率会更高。注意:由于 prepare()
方法经常被调用,因此请确保已对其进行高效编码。
在调用 discard()
方法之前,可能会多次调用 prepare()
方法。
不可直接调用此方法。它将被 DataGrid 实现调用。
参数
hasBeenRecycled:Boolean — 如果正在重用此呈示器,则为 true 。
|
dataChange | 事件 |
mx.events.FlexEvent
属性 FlexEvent.type =
mx.events.FlexEvent.DATA_CHANGE
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
当 data
属性更改时进行调度。
FlexEvent.DATA_CHANGE
常量可为 dataChange
事件定义事件对象的 type
属性值。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
<?xml version="1.0" encoding="utf-8"?> <!-- Demonstate how to control text wrapping in DataGrid GridItemRenderer item renderer. This DataGrid example demonstrates how to control text wrapping with a simple custom item renderer based on GridItemRenderer. All cells in this example display the same lengthy string which does not contain newlines. Note that the Flex text components unconditionally render newline characters that appear in the text. The "Label Renderer" column's renderer is a custom GridItemRenderer that displays its text with an s:Label component. We use the Label's maxDisplayedLines property to control line breaking and to include "..." truncation when the single line of text doesn't fit. Note also: this example's column widths and row heights are defined by the DataGrid's typicalItem. The typical item uses explicit newlines to create a string that occupies three lines and a reasonable column width. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Declarations> <fx:String id="sampleText">Lorem Ipsum is the standard dummy text of the typesetting industry.</fx:String> <fx:int id="maxDisplayedLines">0</fx:int> </fx:Declarations> <s:Panel title="Spark DataGrid Control Example which demonstrates how to control text wrapping in a GridItemRenderer" width="75%" height="75%" horizontalCenter="0" verticalCenter="0"> <s:controlBarContent> <s:VGroup> <s:CheckBox id="vrh" selected="@{dataGrid.variableRowHeight}" label="dataGrid.variableRowHeight={vrh.selected}"/> <s:CheckBox id="lb" selected="true" valueCommit="maxDisplayedLines=(lb.selected) ? 0 : 1" label="labelRenderer.maxDisplayedLines={maxDisplayedLines}"/> </s:VGroup> </s:controlBarContent> <s:DataGrid id="dataGrid" variableRowHeight="false" verticalCenter="0" horizontalCenter="0"> <s:columns> <s:ArrayList> <!-- Simple custom item renderer based on GridItemRenderer and Label. Prevent line breaking by setting maxDisplayedLines="1". --> <s:GridColumn dataField="value" headerText="Label Renderer"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer> <s:Label id="labelDisplay" left="5" top="9" right="5" bottom="5" maxDisplayedLines="{outerDocument.maxDisplayedLines}"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> </s:ArrayList> </s:columns> <!-- The typicalItem defines column widths and the default row height. The text occpies two lines because we've used '\n' to introduce two newlines. Alternatively we could have used the odd XML ' ' escape to introduce two newlines (the value of the newline character is decimal 10). <s:DataItem value="Lorem Ipsum sample text. Lorem Ipsum sample text. "/> --> <s:typicalItem> <s:DataItem value="{'Lorem Ipsum sample text.\nLorem Ipsum sample text\n'}"/> </s:typicalItem> <s:ArrayCollection> <s:DataItem value="{sampleText}"/> <s:DataItem value="{sampleText}"/> <s:DataItem value="{sampleText}"/> </s:ArrayCollection> </s:DataGrid> </s:Panel> </s:Application>
<?xml version="1.0" encoding="utf-8"?> <!-- Examples of custom GridItemRenderers that use data binding to configure visual properties. The application's control bar slider can be used to change the the dataProvider items. The GridItemRenderer class is a Group that implements IGridItemRenderer and can be used as the top level "container" for a custom item renderer. Its data property is the dataProvider item for the row the item renderer appears on and its components can configure themselves by binding to the data property, or by overriding the renderer's prepare() method and configuring themselves imperatively with ActionScript code. All of the item renderers in this example use binding, which makes the code a little easier to read and modify. It's also less efficient than using a prepare() method override. The performance difference is most noticeable when the DataGrid is configured so that a large number of item renderers are visible. DataGrid item renderers are always sized to exactly fit the cell that they're rendering: their size matches the width of their column and the height of their row. The DataGrid enables interactive column resizing by default, so all of the item renderers need to defend against the possibility that their width will become arbitrarily small. The first column's item renderer just contains a Label. By specifying maxDisplayedLines="1" we ensure that the Label will truncate its text to fit the width it's given. The other columns' item renderers specify clipAndEnableScrolling="true" which just means that their fixed size contents will always be clipped to the bounds of the GridItemRenderer. This property -enables- scrolling, which means that one could actually scroll the contents of the item renderers when their width gets small, by setting the renderer's horizontalScrollPosition property. We do not do as much here. The "Name" column's item renderer demonstrates a special case: if the renderer contains a text component with id="labelDisplay", GridItemRenderer automatically sets the labelDisplay's text property to the value of data[column.dataField] per the GridItemRenderer label property. The first colunm also demonstrates using the styleName property to configure the Label's left, right, top, and fontSize styles. The "Statistics" column's item renderer demonstrates how binding can be used to configure the geometry of graphic elememnts. The data items' min, max, and value properties have been normalized to the range [0 100] to keep the bindings simple. The "Value" column's item renderer allows one to change data item's value property with a Slider. The "Call" column's item renderer demonstrates a slightly more complicated component layout and it also demonstates how the data item's value can be both displayed and edited. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Script> <![CDATA[ // Incrementally change all of the date items' min, max, value, and call properties. private function changeData(delta:Number):void { for each (var item:Object in dataGrid.dataProvider) { item.value = (item.value + delta) % 100; item.min = item.value * 0.5; item.max = item.value + ((100 - item.value) * 0.5); item.call = item.value > 50; } } ]]> </fx:Script> <fx:Style> .nameColumn { fontSize: 18; left: 5; right: 5; top: 9; } </fx:Style> <s:Panel title="Spark DataGrid Control Example of custom GridItemRenderers that use data binding to configure visual properties" width="75%" height="75%" horizontalCenter="0" verticalCenter="0"> <s:controlBarContent> <s:HGroup verticalAlign="baseline"> <s:Label text="Shake Data"/> <s:HSlider id="hsl" minimum="0" maximum="25" change="changeData(hsl.value)"/> </s:HGroup> </s:controlBarContent> <s:DataGrid id="dataGrid" left="5" right="5" top="5" bottom="5"> <s:columns> <s:ArrayList> <!-- By specifying id="labelDisplay" the Label component's text property is automatically set to the renderer's label, which is effectively the value of the item's name property. We've used styleName here to refer to a set of styles that could have also have been set inline. --> <s:GridColumn dataField="name" headerText="Name"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer> <s:Label id="labelDisplay" maxDisplayedLines="1" styleName="nameColumn"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> <!-- This column's renderer displays the item's value, min, and max properties with a simple dial and bar chart defined with graphic primitives. The bar chart s:Rect elements specify scaleY="-1" so that the rectangles grow from the bottom of the renderer upwards. To keep things simple, most of the elements geometry is specified explicitly. Note also that min, max, and value have all been normalized to [0, 100]. --> <s:GridColumn dataField="value" headerText="Statistics"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer clipAndEnableScrolling="true"> <s:Group left="5" top="5" bottom="5"> <s:Ellipse x="0" y="0" width="30" height="30"> <s:stroke> <s:SolidColorStroke color="0x272F32" weight="2"/> </s:stroke> <s:fill> <s:SolidColor color="0x9DBDC6"/> </s:fill> </s:Ellipse> <s:Line rotation="{(data.value / 100) * 360}" transformX="15" transformY="15" xFrom="15" yFrom="15" xTo="27" yTo="15"> <s:stroke> <s:SolidColorStroke color="0xFF3D2E" weight="3"/> </s:stroke> </s:Line> <s:Rect x="40" y="30" scaleY="-1" width="15" height="{(data.min / 100) * 30}"> <s:fill> <s:SolidColor color="0xFF3D2E"/> </s:fill> </s:Rect> <s:Rect x="60" y="30" scaleY="-1" width="15" height="{(data.max / 100) * 30}"> <s:fill> <s:SolidColor color="0xFF3D2E"/> </s:fill> </s:Rect> </s:Group> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> <!-- This column's renderer displays the data item's value property with a slider. The binding is specified with "@{data.value}", which indicates that it's bidirection, so changing the slider also changes the dataProvider item. --> <s:GridColumn dataField="value" headerText="Value"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer clipAndEnableScrolling="true"> <s:HSlider left="5" right="5" verticalCenter="0" minimum="{data.min}" maximum="{data.max}" value="@{data.value}"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> <!-- Display the boolean data item call property with a checkbox, radio button, and a text field. The call value can be changed with the checkbox. --> <s:GridColumn dataField="call" headerText="Call"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer clipAndEnableScrolling="true"> <s:HGroup left="5" top="9" right="5" verticalAlign="baseline"> <s:CheckBox selected="@{data.call}"/> <s:RadioButton selected="{data.call}" enabled="false"/> <s:TextInput text="{data.call}" enabled="false"/> </s:HGroup> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> </s:ArrayList> </s:columns> <s:ArrayCollection> <s:DataItem min="10" max="85" value="15" name="Abrasive" price="100.11" call="false"/> <s:DataItem min="15" max="75" value="25" name="Brush" price="110.01" call="true"/> <s:DataItem min="30" max="65" value="45" name="Clamp" price="120.02" call="false"/> <s:DataItem min="20" max="85" value="65" name="Drill" price="130.03" call="true"/> <s:DataItem min="40" max="95" value="85" name="Epoxy" price="140.04" call="false"/> <s:DataItem min="70" max="99" value="95" name="File" price="150.05" call="true"/> <s:DataItem min="60" max="85" value="80" name="Gouge" price="160.06" call="false"/> <s:DataItem min="40" max="70" value="60" name="Hook" price="170.07" call="true"/> <s:DataItem min="10" max="40" value="20" name="Ink" price="180.08" call="false"/> <s:DataItem min="5" max="30" value="10" name="Jack" price="190.09" call="true"/> </s:ArrayCollection> </s:DataGrid> </s:Panel> </s:Application>
<?xml version="1.0" encoding="utf-8"?> <!-- Examples of custom GridItemRenderers that use the prepare() method to configure visual properties. This example is identical to DataGridCustomBindingRenderer.as except that instead of using data bindings, all visual elements are configured by GridItemRenderer/prepare() method overrides. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Script> <![CDATA[ // Incrementally change all of the date items' min, max, value, and call properties. private function changeData(delta:Number):void { for each (var item:Object in dataGrid.dataProvider) { item.value = (item.value + delta) % 100; item.min = (item.min + delta) % 100; item.max = (item.max + delta) % 100; item.call = item.value > 50; } } ]]> </fx:Script> <fx:Style> .nameColumn { fontSize: 18; left: 5; right: 5; top: 9; } </fx:Style> <s:Panel title="Spark DataGrid Control Example of custom GridItemRenderers that use the prepare() method to configure visual properties" width="75%" height="75%" horizontalCenter="0" verticalCenter="0"> <s:controlBarContent> <s:HGroup verticalAlign="baseline"> <s:Label text="Shake Data"/> <s:HSlider id="hsl" minimum="0" maximum="50" change="changeData(hsl.value)"/> </s:HGroup> </s:controlBarContent> <s:DataGrid id="dataGrid" left="5" right="5" top="5" bottom="5"> <s:columns> <s:ArrayList> <s:GridColumn dataField="name" headerText="Name"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer> <fx:Script> <![CDATA[ override public function prepare(hasBeenRecycled:Boolean):void { nameLabel.text = data.name; } ]]> </fx:Script> <s:Label id="nameLabel" maxDisplayedLines="1" styleName="nameColumn"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> <s:GridColumn dataField="value" headerText="Statistics"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer clipAndEnableScrolling="true"> <fx:Script> <![CDATA[ override public function prepare(hasBeenRecycled:Boolean):void { valueDial.rotation = (data.value / 100) * 360; minBar.height = (data.min / 100) * 30; maxBar.height = (data.max / 100) * 30; } ]]> </fx:Script> <s:Group left="5" top="5" bottom="5"> <s:Ellipse x="0" y="0" width="30" height="30"> <s:stroke> <s:SolidColorStroke color="0x272F32" weight="2"/> </s:stroke> <s:fill> <s:SolidColor color="0x9DBDC6"/> </s:fill> </s:Ellipse> <s:Line id="valueDial" transformX="15" transformY="15" xFrom="15" yFrom="15" xTo="27" yTo="15"> <s:stroke> <s:SolidColorStroke color="0xFF3D2E" weight="3"/> </s:stroke> </s:Line> <s:Rect id="minBar" x="40" y="30" scaleY="-1" width="15"> <s:fill> <s:SolidColor color="0xFF3D2E"/> </s:fill> </s:Rect> <s:Rect id="maxBar" x="60" y="30" scaleY="-1" width="15"> <s:fill> <s:SolidColor color="0xFF3D2E"/> </s:fill> </s:Rect> </s:Group> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> <s:GridColumn dataField="value" headerText="Value"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer clipAndEnableScrolling="true"> <fx:Script> <![CDATA[ override public function prepare(hasBeenRecycled:Boolean):void { valueSlider.minimum = data.min; valueSlider.maximum = data.max; valueSlider.value = data.value; } private function valueChange():void { data.value = valueSlider.value; } ]]> </fx:Script> <s:HSlider id="valueSlider" left="5" right="5" verticalCenter="0" change="valueChange()"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> <s:GridColumn dataField="call" headerText="Call"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer clipAndEnableScrolling="true"> <fx:Script> <![CDATA[ override public function prepare(hasBeenRecycled:Boolean):void { callCheckBox.selected = data.call; callRadioButton.selected = data.call; callTextInput.text = String(data.call); } private function valueChange():void { data.call = callCheckBox.selected; } ]]> </fx:Script> <s:HGroup left="5" top="9" right="5" verticalAlign="baseline"> <s:CheckBox id="callCheckBox" change="valueChange()"/> <s:RadioButton id="callRadioButton" enabled="false"/> <s:TextInput id="callTextInput" enabled="false"/> </s:HGroup> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> </s:ArrayList> </s:columns> <s:ArrayCollection> <s:DataItem min="10" max="85" value="15" name="Abrasive" price="100.11" call="false"/> <s:DataItem min="15" max="75" value="25" name="Brush" price="110.01" call="true"/> <s:DataItem min="30" max="65" value="45" name="Clamp" price="120.02" call="false"/> <s:DataItem min="20" max="85" value="65" name="Drill" price="130.03" call="true"/> <s:DataItem min="40" max="95" value="85" name="Epoxy" price="140.04" call="false"/> <s:DataItem min="70" max="99" value="95" name="File" price="150.05" call="true"/> <s:DataItem min="60" max="85" value="80" name="Gouge" price="160.06" call="false"/> <s:DataItem min="40" max="70" value="60" name="Hook" price="170.07" call="true"/> <s:DataItem min="10" max="40" value="20" name="Ink" price="180.08" call="false"/> <s:DataItem min="5" max="30" value="10" name="Jack" price="190.09" call="true"/> </s:ArrayCollection> </s:DataGrid> </s:Panel> </s:Application>
Tue Jun 12 2018, 11:04 AM Z