Package | spark.components.gridClasses |
Class | public class GridItemRenderer |
Inheritance | GridItemRenderer Group GroupBase UIComponent FlexSprite flash.display.Sprite |
Implements | IGridItemRenderer |
Subclasses | DefaultGridHeaderRenderer |
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Item renderers are associated with each column of a grid.
Set the item renderer for a column by using
the GridColumn.itemRenderer property
.
By default, an item renderer does not clip to the boundaries of the cell.
If your renderer extends past the bounds of the cell, you can set
clipAndEnableScrolling
to true
to clip the renderer to the bounds
of the cell.
Transitions in DataGrid item renderers aren't supported. The GridItemRenderer class
has disabled its transitions
property so setting it will have no effect.
Efficiency Considerations
DataGrid scrolling and startup performance are directly linked to item renderer complexity and the number of item renderers that are visible within the DataGrid's scroller. Custom GridItemRenderer instances are used and reused repeatedly so it's important to define them as simply and efficiently as possible.
If an item renderer's responsibility is limited to displaying
one or more lines of text, then developers should seriously
consider using the DefaultItemRenderer class which does so very
economically (an application that's only going to be deployed on
Windows one can gain some additional performance by using the
UITextFieldGridItemRenderer class instead). The most efficient
way to use GridItemRenderer to display the GridColumn's dataField
as text is to identify the GridItemRenderer's text displaying
element with id="labelDisplay"
. The labelDisplay
component must be a TextBase
subclass like
Label
or RichText
. You might take this
approach, instead of just using DefaultGridItemRenderer, if your
item renderer included some additional elements that did not
depend on the item renderer's data, like borders or other graphic
elements.
An item renderer that contains more than one visual element
whose properties depend on the item renderer's data can use data
binding to define the values of those properties. This approach
yields MXML code that's straightforward to read and maintain and
its performance may be adequate if the number of visible item
renderers is limited (see the DataGrid requestedRowCount
and requestedColumnCount
properties). The most efficient
way to configure this kind of item renderer is to override its
prepare()
method and do the work there. The
renderer's prepare()
method is called each time the
renderer is redisplayed and so it's important that it's coded
efficiently. If your item renderer is stateful, for example if it
caches internal values, you can clear its state in its
discard()
method. The discard()
method
is called each time the renderer is moved to the DataGrid's
internal free list, where it's available for reuse.
GridItemRenderers should be as simple as possible. To gain the
best possible performance, minimize the number of components, and
the depth of the hierarchy. If it's practical, use explicit
positions and sizes rather than constraints to define the layout.
DataGrid's with variableRowHeight="false"
(the
default) tend to perform better, likewise for
showDataTips="false"
(the default) and
clipAndEnableScrolling="false"
(the default).
Examples of the various GridItemRenderer configurations described here are available in the examples section.
Default MXML PropertymxmlContent
See also
Property | Defined By | ||
---|---|---|---|
accessibilityDescription : String
A convenience accessor for the description property
in this UIComponent's accessibilityProperties object. | UIComponent | ||
accessibilityEnabled : Boolean
A convenience accessor for the silent property
in this UIComponent's accessibilityProperties object. | UIComponent | ||
accessibilityName : String
A convenience accessor for the name property
in this UIComponent's accessibilityProperties object. | UIComponent | ||
accessibilityShortcut : String
A convenience accessor for the shortcut property
in this UIComponent's accessibilityProperties object. | UIComponent | ||
activeEffects : Array [read-only]
The list of effects that are currently playing on the component,
as an Array of EffectInstance instances. | UIComponent | ||
autoLayout : Boolean
If true, measurement and layout are done
when the position or size of a child is changed. | GroupBase | ||
automationDelegate : Object
The delegate object that handles the automation-related functionality. | UIComponent | ||
automationEnabled : Boolean [read-only]
True if this component is enabled for automation, false
otherwise. | UIComponent | ||
automationName : String
Name that can be used as an identifier for this object. | UIComponent | ||
automationOwner : DisplayObjectContainer [read-only]
The owner of this component for automation purposes. | UIComponent | ||
automationParent : DisplayObjectContainer [read-only]
The parent of this component for automation purposes. | UIComponent | ||
automationTabularData : Object [read-only]
An implementation of the IAutomationTabularData interface, which
can be used to retrieve the data. | UIComponent | ||
automationValue : Array [read-only]
This value generally corresponds to the rendered appearance of the
object and should be usable for correlating the identifier with
the object as it appears visually within the application. | UIComponent | ||
automationVisible : Boolean [read-only]
True if this component is visible for automation, false
otherwise. | UIComponent | ||
baseline : Object
For components, this layout constraint property is a
facade on top of the similarly-named style. | UIComponent | ||
baselinePosition : Number [override] [read-only]
The y-coordinate of the baseline
of the first line of text of the component. | Group | ||
baselinePositionElement : IVisualElement
The element used to calculate the GroupBase's baselinePosition
| Group | ||
blendMode : String [override]
A value from the BlendMode class that specifies which blend mode to use. | Group | ||
bottom : Object
For components, this layout constraint property is a
facade on top of the similarly-named style. | UIComponent | ||
cacheHeuristic : Boolean [write-only]
Used by Flex to suggest bitmap caching for the object. | UIComponent | ||
cachePolicy : String
Specifies the bitmap caching policy for this object. | UIComponent | ||
className : String [read-only]
The name of this instance's class, such as "Button". | UIComponent | ||
clipAndEnableScrolling : Boolean
If true, specifies to clip the children to the boundaries of the viewport. | GroupBase | ||
column : GridColumn
The GridColumn object representing the column associated with this item renderer. | GridItemRenderer | ||
columnIndex : int [read-only]
The column index for this item renderer's cell. | GridItemRenderer | ||
contentHeight : Number [read-only]
The height of the viewport's content. | GroupBase | ||
contentMouseX : Number [read-only]
Returns the x position of the mouse, in the content coordinate system. | UIComponent | ||
contentMouseY : Number [read-only]
Returns the y position of the mouse, in the content coordinate system. | UIComponent | ||
contentWidth : Number [read-only]
The width of the viewport's contents. | GroupBase | ||
currentState : String
The current view state of the component. | UIComponent | ||
cursorManager : ICursorManager [read-only]
Gets the CursorManager that controls the cursor for this component
and its peers. | UIComponent | ||
data : Object
The value of the data provider item for the grid row
corresponding to the item renderer. | GridItemRenderer | ||
depth : Number
Determines the order in which items inside of containers
are rendered. | UIComponent | ||
descriptor : UIComponentDescriptor
Reference to the UIComponentDescriptor, if any, that was used
by the createComponentFromDescriptor() method to create this
UIComponent instance. | UIComponent | ||
designLayer : DesignLayer
Specifies the optional DesignLayer instance associated with this visual
element. | UIComponent | ||
document : Object
A reference to the document object associated with this UIComponent. | UIComponent | ||
doubleClickEnabled : Boolean [override]
Specifies whether the UIComponent object receives doubleClick events. | UIComponent | ||
down : Boolean
This property is set to true when one of two input gestures occurs within a
grid cell: either the mouse button or the touch screen is pressed. | GridItemRenderer | ||
dragging : Boolean
Contains true if the item renderer is being dragged,
typically as part of a drag and drop operation. | GridItemRenderer | ||
enabled : Boolean
Whether the component can accept user interaction. | UIComponent | ||
errorString : String
The text that displayed by a component's error tip when a
component is monitored by a Validator and validation fails. | UIComponent | ||
explicitHeight : Number
Number that specifies the explicit height of the component,
in pixels, in the component's coordinates. | UIComponent | ||
explicitMaxHeight : Number
The maximum recommended height of the component to be considered
by the parent during layout. | UIComponent | ||
explicitMaxWidth : Number
The maximum recommended width of the component to be considered
by the parent during layout. | UIComponent | ||
explicitMinHeight : Number
The minimum recommended height of the component to be considered
by the parent during layout. | UIComponent | ||
explicitMinWidth : Number
The minimum recommended width of the component to be considered
by the parent during layout. | UIComponent | ||
explicitWidth : Number
Number that specifies the explicit width of the component,
in pixels, in the component's coordinates. | UIComponent | ||
flexContextMenu : IFlexContextMenu
The context menu for this UIComponent. | UIComponent | ||
focusEnabled : Boolean
Indicates whether the component can receive focus when tabbed to. | UIComponent | ||
focusManager : IFocusManager
Gets the FocusManager that controls focus for this component
and its peers. | UIComponent | ||
focusPane : Sprite
The focus pane associated with this object. | UIComponent | ||
grid : Grid [read-only]
Returns the Grid associated with this item renderer. | GridItemRenderer | ||
hasFocusableChildren : Boolean
A flag that indicates whether child objects can receive focus. | UIComponent | ||
hasLayoutMatrix3D : Boolean [read-only]
Contains true if the element has 3D Matrix. | UIComponent | ||
height : Number [override]
Number that specifies the height of the component, in pixels,
in the parent's coordinates. | UIComponent | ||
horizontalCenter : Object
For components, this layout constraint property is a
facade on top of the similarly-named style. | UIComponent | ||
horizontalScrollPosition : Number
The x coordinate of the origin of the viewport in the component's coordinate system,
where the default value is (0,0) corresponding to the upper-left corner of the component. | GroupBase | ||
hovered : Boolean
Contains true if the item renderer is under the mouse and
the Grid's selectionMode is GridSelectionMode.SINGLE_CELL or
GridSelectionMode.MULTIPLE_CELLS, or if the mouse is within the
row the item renderer belongs to and the Grid's selectionMode is
GridSelectionMode.SINGLE_ROW or
GridSelectionMode.MULTIPLE_ROWS. | GridItemRenderer | ||
id : String
ID of the component. | UIComponent | ||
includeInLayout : Boolean
Specifies whether this component is included in the layout of the
parent container. | UIComponent | ||
inheritingStyles : Object
The beginning of this component's chain of inheriting styles. | UIComponent | ||
initialized : Boolean
A flag that determines if an object has been through all three phases
of layout: commitment, measurement, and layout (provided that any were required). | UIComponent | ||
instanceIndex : int [read-only]
The index of a repeated component. | UIComponent | ||
instanceIndices : Array
An Array containing the indices required to reference
this UIComponent object from its parent document. | UIComponent | ||
is3D : Boolean [read-only]
Contains true when the element is in 3D. | UIComponent | ||
isDocument : Boolean [read-only]
Contains true if this UIComponent instance is a document object. | UIComponent | ||
isPopUp : Boolean
Set to true by the PopUpManager to indicate
that component has been popped up. | UIComponent | ||
label : String
The String to display in the item renderer. | GridItemRenderer | ||
labelDisplay : TextBase
An optional visual component in the item renderer
for displaying the label property. | GridItemRenderer | ||
layout : LayoutBase
The layout object for this container. | GroupBase | ||
layoutMatrix3D : Matrix3D [write-only]
The transform matrix that is used to calculate a component's layout
relative to its siblings. | UIComponent | ||
left : Object
For components, this layout constraint property is a
facade on top of the similarly-named style. | UIComponent | ||
luminosityClip : Boolean
A property that controls whether the luminosity
mask clips the masked content. | GroupBase | ||
luminosityInvert : Boolean
A property that controls the calculation of the RGB
color value of a graphic element being masked by
a luminosity mask. | GroupBase | ||
maintainProjectionCenter : Boolean
When true, the component keeps its projection matrix centered on the
middle of its bounding box. | UIComponent | ||
mask : DisplayObject [override]
Sets the mask. | GroupBase | ||
maskType : String
The mask type. | GroupBase | ||
maxHeight : Number
The maximum recommended height of the component to be considered
by the parent during layout. | UIComponent | ||
maxWidth : Number
The maximum recommended width of the component to be considered
by the parent during layout. | UIComponent | ||
measuredHeight : Number
The default height of the component, in pixels. | UIComponent | ||
measuredMinHeight : Number
The default minimum height of the component, in pixels. | UIComponent | ||
measuredMinWidth : Number
The default minimum width of the component, in pixels. | UIComponent | ||
measuredWidth : Number
The default width of the component, in pixels. | UIComponent | ||
minHeight : Number
The minimum recommended height of the component to be considered
by the parent during layout. | UIComponent | ||
minWidth : Number
The minimum recommended width of the component to be considered
by the parent during layout. | UIComponent | ||
moduleFactory : IFlexModuleFactory
A module factory is used as context for using embedded fonts and for
finding the style manager that controls the styles for this
component. | UIComponent | ||
mouseEnabledWhereTransparent : Boolean
When true, this property
ensures that the entire bounds of the Group respond to
mouse events such as click and roll over. | GroupBase | ||
mouseFocusEnabled : Boolean
Whether you can receive focus when clicked on. | UIComponent | ||
mxmlContent : Array [write-only]
The visual content children for this Group. | Group | ||
MXMLDescriptor : Array [read-only] | UIComponent | ||
MXMLProperties : Array [read-only] | UIComponent | ||
nestLevel : int
Depth of this object in the containment hierarchy. | UIComponent | ||
nonInheritingStyles : Object
The beginning of this component's chain of non-inheriting styles. | UIComponent | ||
numAutomationChildren : int [read-only]
The number of automation children this container has. | UIComponent | ||
numElements : int [read-only]
The number of visual elements in this container. | GroupBase | ||
overlay : DisplayLayer [read-only]
The overlay plane for this group. | GroupBase | ||
owner : DisplayObjectContainer
The owner of this IVisualElement object. | UIComponent | ||
parent : DisplayObjectContainer [override] [read-only]
The parent container or component for this component. | UIComponent | ||
parentApplication : Object [read-only]
A reference to the Application object that contains this UIComponent
instance. | UIComponent | ||
parentDocument : Object [read-only]
A reference to the parent document object for this UIComponent. | UIComponent | ||
percentHeight : Number
Specifies the height of a component as a percentage
of its parent's size. | UIComponent | ||
percentWidth : Number
Specifies the width of a component as a percentage
of its parent's size. | UIComponent | ||
postLayoutTransformOffsets : TransformOffsets
Defines a set of adjustments that can be applied to the object's
transform in a way that is invisible to its parent's layout. | UIComponent | ||
processedDescriptors : Boolean
Set to true after immediate or deferred child creation,
depending on which one happens. | UIComponent | ||
repeater : IRepeater [read-only]
A reference to the Repeater object
in the parent document that produced this UIComponent. | UIComponent | ||
repeaterIndex : int [read-only]
The index of the item in the data provider
of the Repeater that produced this UIComponent. | UIComponent | ||
repeaterIndices : Array
An Array containing the indices of the items in the data provider
of the Repeaters in the parent document that produced this UIComponent. | UIComponent | ||
repeaters : Array
An Array containing references to the Repeater objects
in the parent document that produced this UIComponent. | UIComponent | ||
resizeMode : String
The ResizeMode for this container. | GroupBase | ||
right : Object
For components, this layout constraint property is a
facade on top of the similarly-named style. | UIComponent | ||
rotation : Number [override] | UIComponent | ||
rotationX : Number [override]
Indicates the x-axis rotation of the DisplayObject instance, in degrees, from its original orientation
relative to the 3D parent container. | UIComponent | ||
rotationY : Number [override]
Indicates the y-axis rotation of the DisplayObject instance, in degrees, from its original orientation
relative to the 3D parent container. | UIComponent | ||
rotationZ : Number [override]
| UIComponent | ||
rowIndex : int
The zero-based index of the row of the cell being rendered. | GridItemRenderer | ||
scaleGridBottom : Number
Specifies the bottom coordinate of the scale grid. | Group | ||
scaleGridLeft : Number
Specifies the left coordinate of the scale grid. | Group | ||
scaleGridRight : Number
Specifies the right coordinate of the scale grid. | Group | ||
scaleGridTop : Number
Specifies the top coordinate of the scale grid. | Group | ||
scaleX : Number [override]
Number that specifies the horizontal scaling factor. | UIComponent | ||
scaleY : Number [override]
Number that specifies the vertical scaling factor. | UIComponent | ||
scaleZ : Number [override]
Number that specifies the scaling factor along the z axis. | UIComponent | ||
screen : Rectangle [read-only]
Returns an object that contains the size and position of the base
drawing surface for this object. | UIComponent | ||
selected : Boolean
Contains true if the item renderer's cell is part
of the current selection. | GridItemRenderer | ||
showInAutomationHierarchy : Boolean
A flag that determines if an automation object
shows in the automation hierarchy. | UIComponent | ||
showsCaret : Boolean
Contains true if the item renderer's cell is indicated by the caret. | GridItemRenderer | ||
states : Array
The view states that are defined for this component. | UIComponent | ||
styleDeclaration : CSSStyleDeclaration
Storage for the inline inheriting styles on this object. | UIComponent | ||
styleManager : IStyleManager2 [read-only]
Returns the StyleManager instance used by this component. | UIComponent | ||
styleName : Object
The class style used by this component. | UIComponent | ||
styleParent : IAdvancedStyleClient
A component's parent is used to evaluate descendant selectors. | UIComponent | ||
systemManager : ISystemManager
Returns the SystemManager object used by this component. | UIComponent | ||
tabFocusEnabled : Boolean
A flag that indicates whether this object can receive focus
via the TAB key
This is similar to the tabEnabled property
used by the Flash Player.
This is usually true for components that
handle keyboard input, but some components in controlbars
have them set to false because they should not steal
focus from another component like an editor. | UIComponent | ||
toolTip : String
Text to display in the ToolTip. | UIComponent | ||
top : Object
For components, this layout constraint property is a
facade on top of the similarly-named style. | UIComponent | ||
transform : Transform [override]
An object with properties pertaining to a display object's matrix, color transform,
and pixel bounds. | UIComponent | ||
transformX : Number
Sets the x coordinate for the transform center of the component. | UIComponent | ||
transformY : Number
Sets the y coordinate for the transform center of the component. | UIComponent | ||
transformZ : Number
Sets the z coordinate for the transform center of the component. | UIComponent | ||
tweeningProperties : Array
Array of properties that are currently being tweened on this object. | UIComponent | ||
uid : String
A unique identifier for the object. | UIComponent | ||
updateCompletePendingFlag : Boolean
A flag that determines if an object has been through all three phases
of layout validation (provided that any were required). | UIComponent | ||
validationSubField : String
Used by a validator to associate a subfield with this component. | UIComponent | ||
verticalCenter : Object
For components, this layout constraint property is a
facade on top of the similarly-named style. | UIComponent | ||
verticalScrollPosition : Number
The y coordinate of the origin of the viewport in the component's coordinate system,
where the default value is (0,0) corresponding to the upper-left corner of the component. | GroupBase | ||
visible : Boolean [override]
Whether or not the display object is visible. | UIComponent | ||
width : Number [override]
Number that specifies the width of the component, in pixels,
in the parent's coordinates. | UIComponent | ||
x : Number [override]
Number that specifies the component's horizontal position,
in pixels, within its parent container. | UIComponent | ||
y : Number [override]
Number that specifies the component's vertical position,
in pixels, within its parent container. | UIComponent | ||
z : Number [override]
| UIComponent |
Method | Defined By | ||
---|---|---|---|
Constructor. | GridItemRenderer | ||
Adds a visual element to this container. | Group | ||
Adds a visual element to this container. | Group | ||
addStyleClient(styleClient:IAdvancedStyleClient):void
Adds a non-visual style client to this component instance. | UIComponent | ||
callLater(method:Function, args:Array = null):void
Queues a function to be called later. | UIComponent | ||
clearStyle(styleProp:String):void
Deletes a style property from this component instance. | UIComponent | ||
containsElement(element:IVisualElement):Boolean
Determines whether the specified IVisualElement is a
child of the container instance or the instance
itself. | GroupBase | ||
contentToGlobal(point:Point):Point
Converts a Point object from content coordinates to global coordinates. | UIComponent | ||
contentToLocal(point:Point):Point
Converts a Point object from content to local coordinates. | UIComponent | ||
createAutomationIDPart(child:IAutomationObject):Object
Returns a set of properties that identify the child within
this container. | UIComponent | ||
createAutomationIDPartWithRequiredProperties(child:IAutomationObject, properties:Array):Object
Returns a set of properties as automation IDs that identify the child within
this container. | UIComponent | ||
createReferenceOnParentDocument(parentDocument:IFlexDisplayObject):void
Creates an id reference to this IUIComponent object
on its parent document object. | UIComponent | ||
deleteReferenceOnParentDocument(parentDocument:IFlexDisplayObject):void
Deletes the id reference to this IUIComponent object
on its parent document object. | UIComponent | ||
Returns a UITextFormat object corresponding to the text styles
for this UIComponent. | UIComponent | ||
discard(willBeRecycled:Boolean):void
Called from the item renderer parent's updateDisplayList() method
when it has been determined that this renderer will no longer be visible. | GridItemRenderer | ||
dispatchEvent(event:Event):Boolean [override]
Dispatches an event into the event flow. | UIComponent | ||
drawFocus(isFocused:Boolean):void
Shows or hides the focus indicator around this component. | 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
Programmatically draws a rectangle into this skin's Graphics object. | UIComponent | ||
effectFinished(effectInst:IEffectInstance):void
Called by the effect instance when it stops playing on the component. | UIComponent | ||
effectStarted(effectInst:IEffectInstance):void
Called by the effect instance when it starts playing on the component. | UIComponent | ||
endEffectsStarted():void
Ends all currently playing effects on the component. | UIComponent | ||
executeBindings(recurse:Boolean = false):void
Executes all the bindings for which the UIComponent object is the destination. | UIComponent | ||
finishPrint(obj:Object, target:IFlexDisplayObject):void
Called after printing is complete. | UIComponent | ||
generateMXMLArray(document:Object, data:Array, recursive:Boolean = true):Array | UIComponent | ||
generateMXMLVector(document:Object, data:Array, recursive:Boolean = true):* | UIComponent | ||
getAutomationChildAt(index:int):IAutomationObject
Provides the automation object at the specified index. | UIComponent | ||
getAutomationChildren():Array
Provides the automation object list . | UIComponent | ||
getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
Returns the x coordinate of the element's bounds at the specified element size. | UIComponent | ||
getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
Returns the y coordinate of the element's bounds at the specified element size. | UIComponent | ||
getClassStyleDeclarations():Array
Finds the type selectors for this UIComponent instance. | UIComponent | ||
getConstraintValue(constraintName:String):*
Returns a layout constraint value, which is the same as
getting the constraint style for this component. | UIComponent | ||
getElementAt(index:int):IVisualElement
Returns the visual element at the specified index. | GroupBase | ||
getElementIndex(element:IVisualElement):int
Returns the index position of a visual element. | GroupBase | ||
getExplicitOrMeasuredHeight():Number
A convenience method for determining whether to use the
explicit or measured height
| UIComponent | ||
getExplicitOrMeasuredWidth():Number
A convenience method for determining whether to use the
explicit or measured width
| UIComponent | ||
getFocus():InteractiveObject
Gets the object that currently has focus. | UIComponent | ||
getHorizontalScrollPositionDelta(navigationUnit:uint):Number
Returns the change to the horizontal scroll position to handle
different scrolling options. | GroupBase | ||
getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's layout height. | UIComponent | ||
getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's layout width. | UIComponent | ||
getLayoutBoundsX(postLayoutTransform:Boolean = true):Number
Returns the x coordinate that the element uses to draw on screen. | UIComponent | ||
getLayoutBoundsY(postLayoutTransform:Boolean = true):Number
Returns the y coordinate that the element uses to draw on screen. | UIComponent | ||
getLayoutMatrix():Matrix
Returns the transform matrix that is used to calculate the component's
layout relative to its siblings. | UIComponent | ||
getLayoutMatrix3D():Matrix3D
Returns the layout transform Matrix3D for this element. | UIComponent | ||
getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's maximum height. | UIComponent | ||
getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's maximum width. | UIComponent | ||
getMinBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's minimum height. | UIComponent | ||
getMinBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's minimum width. | UIComponent | ||
getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's preferred height. | UIComponent | ||
getPreferredBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's preferred width. | UIComponent | ||
getRepeaterItem(whichRepeater:int = -1):Object
Returns the item in the dataProvider that was used
by the specified Repeater to produce this Repeater, or
null if this Repeater isn't repeated. | UIComponent | ||
getStyle(styleProp:String):*
Gets a style property that has been set anywhere in this
component's style lookup chain. | UIComponent | ||
getVerticalScrollPositionDelta(navigationUnit:uint):Number
Returns the change to the vertical scroll position to handle
different scrolling options. | GroupBase | ||
getVirtualElementAt(index:int, eltWidth:Number, eltHeight:Number):IVisualElement
Layouts that honor the useVirtualLayout flag will use this
method at updateDisplayList() time to get layout elements that are "in view",
i.e. | GroupBase | ||
getVisibleRect(targetParent:DisplayObject = null):Rectangle
Get the bounds of this object that are visible to the user
on the screen. | UIComponent | ||
globalToContent(point:Point):Point
Converts a Point object from global to content coordinates. | UIComponent | ||
hasCSSState():Boolean
Returns true if currentCSSState is not null. | UIComponent | ||
hasState(stateName:String):Boolean
Determines whether the specified state has been defined on this
UIComponent. | UIComponent | ||
horizontalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix
Returns a box Matrix which can be passed to the
drawRoundRect() method
as the rot parameter when drawing a horizontal gradient. | UIComponent | ||
initialize():void
Initializes the internal structure of this component. | UIComponent | ||
initializeRepeaterArrays(parent:IRepeaterClient):void
Initializes various properties which keep track of repeated instances
of this component. | UIComponent | ||
invalidateDisplayList():void
Marks a component so that its updateDisplayList()
method gets called during a later screen update. | UIComponent | ||
invalidateGraphicElementDisplayList(element:IGraphicElement):void
Notify the host component that an element has changed and needs to be redrawn. | Group | ||
invalidateGraphicElementProperties(element:IGraphicElement):void
Notify the host component that an element changed and needs to validate properties. | Group | ||
invalidateGraphicElementSharing(element:IGraphicElement):void
Notify the host that an element layer has changed. | Group | ||
invalidateGraphicElementSize(element:IGraphicElement):void
Notify the host component that an element size has changed. | Group | ||
invalidateLayering():void
Called by a component's items to indicate that their depth
property has changed. | UIComponent | ||
invalidateLayoutDirection():void
An element must call this method when its layoutDirection changes or
when its parent's layoutDirection changes. | UIComponent | ||
invalidateProperties():void
Marks a component so that its commitProperties()
method gets called during a later screen update. | UIComponent | ||
invalidateSize():void
Marks a component so that its measure()
method gets called during a later screen update. | UIComponent | ||
localToContent(point:Point):Point
Converts a Point object from local to content coordinates. | UIComponent | ||
matchesCSSState(cssState:String):Boolean
Returns true if cssState matches currentCSSState. | UIComponent | ||
matchesCSSType(cssType:String):Boolean
Determines whether this instance is the same as, or is a subclass of,
the given type. | UIComponent | ||
measureHTMLText(htmlText:String):TextLineMetrics
Measures the specified HTML text, which can contain HTML tags such
as <font> and <b>,
assuming that it is displayed
in a single-line UITextField using a UITextFormat
determined by the styles of this UIComponent. | UIComponent | ||
measureText(text:String):TextLineMetrics
Measures the specified text, assuming that it is displayed
in a single-line UITextField (or UIFTETextField) using a UITextFormat
determined by the styles of this UIComponent. | UIComponent | ||
move(x:Number, y:Number):void
Moves the component to a specified position within its parent. | UIComponent | ||
notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void
Propagates style changes to the children. | UIComponent | ||
owns(child:DisplayObject):Boolean
Returns true if the chain of owner properties
points from child to this UIComponent. | UIComponent | ||
parentChanged(p:DisplayObjectContainer):void
Called by Flex when a UIComponent object is added to or removed from a parent. | UIComponent | ||
prepare(hasBeenRecycled:Boolean):void
Called from the item renderer parent's updateDisplayList() method
after all of the renderer's properties have been set. | GridItemRenderer | ||
prepareToPrint(target:IFlexDisplayObject):Object
Prepares an IFlexDisplayObject for printing. | UIComponent | ||
regenerateStyleCache(recursive:Boolean):void
Builds or rebuilds the CSS style cache for this component
and, if the recursive parameter is true,
for all descendants of this component as well. | UIComponent | ||
registerEffects(effects:Array):void
For each effect event, registers the EffectManager
as one of the event listeners. | UIComponent | ||
removeAllElements():void
Removes all visual elements from the container. | Group | ||
Removes the specified visual element from the child list of
this container. | Group | ||
removeElementAt(index:int):IVisualElement
Removes a visual element from the specified index position
in the container. | Group | ||
removeStyleClient(styleClient:IAdvancedStyleClient):void
Removes a non-visual style client from this component instance. | UIComponent | ||
replayAutomatableEvent(event:Event):Boolean
Replays the specified event. | UIComponent | ||
resolveAutomationIDPart(criteria:Object):Array
Resolves a child by using the id provided. | UIComponent | ||
resumeBackgroundProcessing():void [static]
Resumes the background processing of methods
queued by callLater(), after a call to
suspendBackgroundProcessing(). | UIComponent | ||
setActualSize(w:Number, h:Number):void
Sizes the object. | UIComponent | ||
setConstraintValue(constraintName:String, value:*):void
Sets a layout constraint value, which is the same as
setting the constraint style for this component. | UIComponent | ||
setContentSize(width:Number, height:Number):void
Sets the contentWidth and contentHeight
properties. | GroupBase | ||
setCurrentState(stateName:String, playTransition:Boolean = true):void
Set the current state. | UIComponent | ||
setElementIndex(element:IVisualElement, index:int):void
Changes the position of an existing visual element in the visual container. | Group | ||
setFocus():void
Sets the focus to this component. | UIComponent | ||
setLayoutBoundsPosition(x:Number, y:Number, postLayoutTransform:Boolean = true):void
Sets the coordinates that the element uses to draw on screen. | UIComponent | ||
setLayoutBoundsSize(width:Number, height:Number, postLayoutTransform:Boolean = true):void
Sets the layout size of the element. | UIComponent | ||
setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void
Sets the transform Matrix that is used to calculate the component's layout
size and position relative to its siblings. | UIComponent | ||
setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void
Sets the transform Matrix3D that is used to calculate the component's layout
size and position relative to its siblings. | UIComponent | ||
setMXMLDescriptor(value:Array):void | UIComponent | ||
setMXMLProperties(value:Array):void | UIComponent | ||
setStyle(styleProp:String, newValue:*):void
Sets a style property on this component instance. | UIComponent | ||
setVisible(value:Boolean, noEvent:Boolean = false):void
Called when the visible property changes. | UIComponent | ||
styleChanged(styleProp:String):void
Detects changes to style properties. | UIComponent | ||
stylesInitialized():void
Flex calls the stylesInitialized() method when
the styles for a component are first initialized. | UIComponent | ||
suspendBackgroundProcessing():void [static]
Blocks the background processing of methods
queued by callLater(),
until resumeBackgroundProcessing() is called. | UIComponent | ||
Swaps the index of the two specified visual elements. | Group | ||
swapElementsAt(index1:int, index2:int):void
Swaps the visual elements at the two specified index
positions in the container. | Group | ||
toString():String [override]
Returns a string indicating the location of this object
within the hierarchy of DisplayObjects in the Application. | 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
A utility method to update the rotation, scale, and translation of the
transform while keeping a particular point, specified in the component's
own coordinate space, fixed in the parent's coordinate space. | UIComponent | ||
transformPointToParent(localPosition:Vector3D, position:Vector3D, postLayoutPosition:Vector3D):void
A utility method to transform a point specified in the local
coordinates of this object to its location in the object's parent's
coordinates. | UIComponent | ||
validateDisplayList():void
Validates the position and size of children and draws other
visuals. | UIComponent | ||
validateNow():void
Validate and update the properties and layout of this object
and redraw it, if necessary. | UIComponent | ||
validateProperties():void
Used by layout logic to validate the properties of a component
by calling the commitProperties() method. | UIComponent | ||
validateSize(recursive:Boolean = false):void
Validates the measured size of the component
If the LayoutManager.invalidateSize() method is called with
this ILayoutManagerClient, then the validateSize() method
is called when it's time to do measurements. | UIComponent | ||
validationResultHandler(event:ValidationResultEvent):void
Handles both the valid and invalid events from a
validator assigned to this component. | UIComponent | ||
verticalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix
Returns a box Matrix which can be passed to drawRoundRect()
as the rot parameter when drawing a vertical gradient. | UIComponent |
Method | Defined By | ||
---|---|---|---|
addMXMLChildren(comps:Array):void [override]
override setting of children
| Group | ||
adjustFocusRect(obj:DisplayObject = null):void
Adjust the focus rectangle. | UIComponent | ||
applyComputedMatrix():void
Commits the computed matrix built from the combination of the layout
matrix and the transform offsets to the flash displayObject's transform. | UIComponent | ||
attachOverlay():void
This is an internal method used by the Flex framework
to support the Dissolve effect. | UIComponent | ||
canSkipMeasurement():Boolean
Determines if the call to the measure() method can be skipped. | UIComponent | ||
childrenCreated():void
Performs any final processing after child objects are created. | UIComponent | ||
commitProperties():void
Processes the properties set on the component. | UIComponent | ||
createChildren():void [override]
If the layout object has not been set yet,
createChildren() assigns this container a
default layout object, BasicLayout.
| GroupBase | ||
createInFontContext(classObj:Class):Object
Creates a new object using a context
based on the embedded font being used. | UIComponent | ||
createInModuleContext(moduleFactory:IFlexModuleFactory, className:String):Object
Creates the object using a given moduleFactory. | UIComponent | ||
dispatchPropertyChangeEvent(prop:String, oldValue:*, value:*):void
Helper method for dispatching a PropertyChangeEvent
when a property is updated. | UIComponent | ||
focusInHandler(event:FocusEvent):void
The event handler called when a UIComponent object gets focus. | UIComponent | ||
focusOutHandler(event:FocusEvent):void
The event handler called when a UIComponent object loses focus. | UIComponent | ||
generateMXMLAttributes(data:Array):void | UIComponent | ||
generateMXMLInstances(document:Object, data:Array, recursive:Boolean = true):void | UIComponent | ||
generateMXMLObject(document:Object, data:Array):Object | UIComponent | ||
getCurrentRendererState():String
Returns the name of the state to be applied to the renderer. | GridItemRenderer | ||
initAdvancedLayoutFeatures():void
Initializes the implementation and storage of some of the less frequently
used advanced layout features of a component. | UIComponent | ||
initializationComplete():void
Finalizes the initialization of this component. | UIComponent | ||
initializeAccessibility():void
Initializes this component's accessibility code. | UIComponent | ||
Helper method to invalidate parent size and display list if
this object affects its layout (includeInLayout is true). | UIComponent | ||
isOurFocus(target:DisplayObject):Boolean
Typically overridden by components containing UITextField objects,
where the UITextField object gets focus. | UIComponent | ||
keyDownHandler(event:KeyboardEvent):void
The event handler called for a keyDown event. | UIComponent | ||
keyUpHandler(event:KeyboardEvent):void
The event handler called for a keyUp event. | UIComponent | ||
measure():void
Calculates the default size, and optionally the default minimum size,
of the component. | UIComponent | ||
resourcesChanged():void
This method is called when a UIComponent is constructed,
and again whenever the ResourceManager dispatches
a "change" Event to indicate
that the localized resources have changed in some way. | UIComponent | ||
setStretchXY(stretchX:Number, stretchY:Number):void
Specifies a transform stretch factor in the horizontal and vertical direction. | UIComponent | ||
stateChanged(oldState:String, newState:String, recursive:Boolean):void
This method is called when a state changes to check whether
state-specific styles apply to this component. | UIComponent | ||
updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
Draws the object and/or sizes and positions its children. | UIComponent |
Event | Summary | Defined By | ||
---|---|---|---|---|
Dispatched when the component is added to a container as a content child by using the addChild(), addChildAt(), addElement(), or addElementAt() method. | UIComponent | |||
Dispatched when the component has finished its construction, property processing, measuring, layout, and drawing. | UIComponent | |||
Dispatched after the view state has changed. | UIComponent | |||
Dispatched after the currentState property changes, but before the view state changes. | UIComponent | |||
Dispatched when the data property changes. | GridItemRenderer | |||
Dispatched by the drag initiator (the component that is the source of the data being dragged) when the drag operation completes, either when you drop the dragged data onto a drop target or when you end the drag-and-drop operation without performing a drop. | UIComponent | |||
Dispatched by the drop target when the user releases the mouse over it. | UIComponent | |||
Dispatched by a component when the user moves the mouse over the component during a drag operation. | UIComponent | |||
Dispatched by the component when the user drags outside the component, but does not drop the data onto the target. | UIComponent | |||
Dispatched by a component when the user moves the mouse while over the component during a drag operation. | UIComponent | |||
Dispatched by the drag initiator when starting a drag operation. | UIComponent | |||
Dispatched after an effect ends. | UIComponent | |||
Dispatched just before an effect starts. | UIComponent | |||
Dispatched after an effect is stopped, which happens only by a call to stop() on the effect. | UIComponent | |||
Dispatched when a visual element is added to the content holder. | Group | |||
Dispatched when a visual element is removed from the content holder. | Group | |||
Dispatched after the component has entered a view state. | UIComponent | |||
Dispatched just before the component exits a view state. | UIComponent | |||
Dispatched when an object's state changes from visible to invisible. | UIComponent | |||
Dispatched when the component has finished its construction and has all initialization properties set. | UIComponent | |||
Dispatched when a component is monitored by a Validator and the validation failed. | UIComponent | |||
Dispatched from a component opened using the PopUpManager when the user clicks outside it. | UIComponent | |||
Dispatched from a component opened using the PopUpManager when the user scrolls the mouse wheel outside it. | UIComponent | |||
Dispatched when the object has moved. | UIComponent | |||
Dispatched at the beginning of the component initialization sequence. | UIComponent | |||
Dispatched when the component is removed from a container as a content child by using the removeChild(), removeChildAt(), removeElement(), or removeElementAt() method. | UIComponent | |||
Dispatched when the component is resized. | UIComponent | |||
Dispatched when an object's state changes from invisible to visible. | UIComponent | |||
Dispatched after the component has entered a new state and any state transition animation to that state has finished playing. | UIComponent | |||
Dispatched when a component interrupts a transition to its current state in order to switch to a new state. | UIComponent | |||
Dispatched by the component when it is time to create a ToolTip. | UIComponent | |||
Dispatched by the component when its ToolTip has been hidden and is to be discarded soon. | UIComponent | |||
Dispatched by the component when its ToolTip is about to be hidden. | UIComponent | |||
Dispatched by the component when its ToolTip is about to be shown. | UIComponent | |||
Dispatched by the component when its ToolTip has been shown. | UIComponent | |||
Dispatched by a component whose toolTip property is set, as soon as the user moves the mouse over it. | UIComponent | |||
A non-cancellable event, dispatched by a component when it is done responding to a touch interaction user gesture. | UIComponent | |||
A non-cancellable event, dispatched by a component when it starts responding to a touch interaction user gesture. | UIComponent | |||
A cancellable event, dispatched by a component in an attempt to respond to a touch interaction user gesture. | UIComponent | |||
Dispatched when an object has had its commitProperties(), measure(), and updateDisplayList() methods called (if needed). | UIComponent | |||
Dispatched when a component is monitored by a Validator and the validation succeeded. | UIComponent | |||
Dispatched when values are changed programmatically or by user interaction. | UIComponent |
column | property |
column:GridColumn
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
The GridColumn object representing the column associated with this item renderer.
The default value is null
.
This property can be used as the source for data binding.
public function get column():GridColumn
public function set column(value:GridColumn):void
columnIndex | property |
columnIndex:int
[read-only] Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
The column index for this item renderer's cell.
This is the same value as column.columnIndex
.
public function get columnIndex():int
data | property |
data:Object
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
The value of the data provider item for the grid row
corresponding to the item renderer.
This value corresponds to the object returned by a call to the
dataProvider.getItemAt(rowIndex)
method.
Item renderers can override this property definition to access the data for the entire row of the grid.
The default value is null
.
This property can be used as the source for data binding.
public function get data():Object
public function set data(value:Object):void
down | property |
down:Boolean
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
This property is set to true
when one of two input gestures occurs within a
grid cell: either the mouse button or the touch screen is pressed.
The down
property is reset to false
when
the mouse button goes up, the user lifts off
the touch screen, or the mouse/touch is dragged out of the grid cell.
Unlike a List item renderer, grid item renderers do not have exclusive responsibility for displaying the down indicator. The Grid itself renders the down indicator for the selected row or cell. The item renderer can also change its visual properties to emphasize that it's being pressed.
The default value is false
.
public function get down():Boolean
public function set down(value:Boolean):void
dragging | property |
dragging:Boolean
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Contains true
if the item renderer is being dragged,
typically as part of a drag and drop operation.
Currently, drag and drop is not supported by the Spark DataGrid control.
This property can be used as the source for data binding.
public function get dragging():Boolean
public function set dragging(value:Boolean):void
grid | property |
grid:Grid
[read-only] Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Returns the Grid associated with this item renderer.
This is the same value as column.grid
.
public function get grid():Grid
hovered | property |
hovered:Boolean
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Contains true
if the item renderer is under the mouse and
the Grid's selectionMode is GridSelectionMode.SINGLE_CELL
or
GridSelectionMode.MULTIPLE_CELLS
, or if the mouse is within the
row the item renderer belongs to and the Grid's selectionMode is
GridSelectionMode.SINGLE_ROW
or
GridSelectionMode.MULTIPLE_ROWS
.
Unlike a List item renderer, grid item renderers do not have exclusive responsibility for displaying something to indicate that the renderer or its row is under the mouse. The Grid itself automatically displays the hoverIndicator skin part for the hovered row or cell. Grid item renderers can also change their properties to emphasize that they're hovered.
The default value is false
.
public function get hovered():Boolean
public function set hovered(value:Boolean):void
label | property |
label:String
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
The String to display in the item renderer.
The GridItemRenderer class automatically copies the
value of this property to the text
property
of its labelDisplay
element, if that element was specified.
The Grid sets the label
to the value returned by the column's
itemToLabel()
method.
The default value is ""
.
This property can be used as the source for data binding.
public function get label():String
public function set label(value:String):void
labelDisplay | property |
labelDisplay:TextBase
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
An optional visual component in the item renderer
for displaying the label
property.
If you use this property to specify a visual component,
the component's text
property is kept synchronized
with the item renderer's label
property.
The default value is null
.
This property can be used as the source for data binding.
public function get labelDisplay():TextBase
public function set labelDisplay(value:TextBase):void
rowIndex | property |
rowIndex:int
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
The zero-based index of the row of the cell being rendered.
The default value is -1
.
This property can be used as the source for data binding.
public function get rowIndex():int
public function set rowIndex(value:int):void
selected | property |
selected:Boolean
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Contains true
if the item renderer's cell is part
of the current selection.
Unlike a List item renderer, grid item renderers do not have exclusive responsibility for displaying something to indicate that they're part of the selection. The Grid itself automatically displays the selectionIndicator skin part for the selected rows or cells. The item renderer can also change its visual properties to emphasize that it's part of the selection.
The default value is false
.
This property can be used as the source for data binding.
public function get selected():Boolean
public function set selected(value:Boolean):void
showsCaret | property |
showsCaret:Boolean
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Contains true
if the item renderer's cell is indicated by the caret.
Unlike a List item renderer, grid item renderers do not have exclusive responsibility for displaying something to indicate their cell or row has the caret. The Grid itself automatically displays the caretIndicator skin part for the caret row or cell. The item renderer can also change its visual properties to emphasize that it has the caret.
The default value is false
.
This property can be used as the source for data binding.
public function get showsCaret():Boolean
public function set showsCaret(value:Boolean):void
GridItemRenderer | () | Constructor |
public function GridItemRenderer()
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Constructor.
discard | () | method |
public function discard(willBeRecycled:Boolean):void
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Called from the item renderer parent's updateDisplayList()
method
when it has been determined that this renderer will no longer be visible.
If the willBeRecycled
parameter is true
,
then the owner adds this renderer to its internal free list for reuse.
Implementations can use this method to clear any renderer properties that are no longer needed.
This method is not intended to be called directly. It is called by the DataGrid implementation.
Parameters
willBeRecycled:Boolean — true if this renderer is going to be added
to the owner's internal free list for reuse.
|
getCurrentRendererState | () | method |
protected function getCurrentRendererState():String
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Returns the name of the state to be applied to the renderer. For example, a basic item renderer returns the String "normal", "hovered", or "selected" to specify the renderer's state. If dealing with touch interactions (or mouse interactions where selection is ignored), "down" and "downAndSelected" can also be returned.
A subclass of GridItemRenderer must override this method to return a value if the behavior desired differs from the default behavior.
In Flex 4.0, the 3 main states were "normal", "hovered", and "selected". In Flex 4.5, "down" and "downAndSelected" have been added.
The full set of states supported (in order of precedence) are:
String — A String specifying the name of the state to apply to the renderer.
|
prepare | () | method |
public function prepare(hasBeenRecycled:Boolean):void
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Called from the item renderer parent's updateDisplayList()
method
after all of the renderer's properties have been set.
The hasBeenRecycled
parameter is false
if this renderer has not been used before, meaning it was not recycled.
This method is called when a renderer is about to become visible
and each time it's redisplayed because of a change in a renderer
property, or because a redisplay was explicitly requested.
This method can be used to configure all of a renderer's visual
elements and properties.
Using this method can be more efficient than binding data
properties to visual element properties.
Note: Because the prepare()
method is called frequently,
make sure that it is coded efficiently.
The prepare()
method may be called many times
before the discard()
method is called.
This method is not intended to be called directly. It is called by the DataGrid implementation.
Parameters
hasBeenRecycled:Boolean — true if this renderer is being reused.
|
dataChange | Event |
mx.events.FlexEvent
mx.events.FlexEvent.DATA_CHANGE
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
Dispatched when the data
property changes.
FlexEvent.DATA_CHANGE
constant defines the value of the
type
property of the event object for a dataChange
event.
The properties of the event object have the following values:
Property | Value |
---|---|
bubbles | false |
cancelable | false |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- 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"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- 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"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- 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>