Apache Flex 4.16.0 API Reference | All Packages | All Classes | Index | Frames No Frames |
GridItemRenderer

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

The GridItemRenderer class defines the base class for custom item renderers for the Spark grid controls, such as DataGrid and Grid. Item renderers are only required to display column-specific aspects of their data. They are not responsible for displaying the selection or hover indicators, the alternating background color (if any), or row or column separators.

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 Property `mxmlContent`

View the examples

See also

spark.components.DataGrid
spark.components.Grid
spark.components.gridClasses.GridColumn
spark.components.gridClasses.GridColumn.itemRenderer
spark.skins.spark.DefaultGridItemRenderer

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| 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

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | currentCSSState : String [read-only] The state to be used when matching CSS pseudo-selectors. | UIComponent
|  | hasComplexLayoutMatrix : Boolean [read-only] Returns true if the UIComponent has any non-translation (x,y) transform properties. | UIComponent
|  | resourceManager : IResourceManager [read-only] A reference to the object which manages all of the application's localized resources. | UIComponent
|  | unscaledHeight : Number [read-only] A convenience method for determining the unscaled height of the component. | UIComponent
|  | unscaledWidth : Number [read-only] A convenience method for determining the unscaled width of the component All of a component's drawing and child layout should be done within a bounding rectangle of this width, which is also passed as an argument to updateDisplayList(). | UIComponent

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | GridItemRenderer() Constructor. | GridItemRenderer
|  | addElement(element:IVisualElement):IVisualElement Adds a visual element to this container. | Group
|  | addElementAt(element:IVisualElement, index:int):IVisualElement 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
|  | determineTextFormatFromStyles():UITextFormat 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
|  | removeElement(element:IVisualElement):IVisualElement 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
|  | swapElements(element1:IVisualElement, element2:IVisualElement):void 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

Protected Methods
Show Inherited Protected Methods
Show Inherited Protected Methods

| 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
|  | invalidateParentSizeAndDisplayList():void 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

Events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | add | Dispatched when the component is added to a container as a content child by using the addChild(), addChildAt(), addElement(), or addElementAt() method. | UIComponent
|  | creationComplete | Dispatched when the component has finished its construction, property processing, measuring, layout, and drawing. | UIComponent
|  | currentStateChange | Dispatched after the view state has changed. | UIComponent
|  | currentStateChanging | Dispatched after the currentState property changes, but before the view state changes. | UIComponent
|  | dataChange | Dispatched when the data property changes. | GridItemRenderer
|  | dragComplete | 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
|  | dragDrop | Dispatched by the drop target when the user releases the mouse over it. | UIComponent
|  | dragEnter | Dispatched by a component when the user moves the mouse over the component during a drag operation. | UIComponent
|  | dragExit | Dispatched by the component when the user drags outside the component, but does not drop the data onto the target. | UIComponent
|  | dragOver | Dispatched by a component when the user moves the mouse while over the component during a drag operation. | UIComponent
|  | dragStart | Dispatched by the drag initiator when starting a drag operation. | UIComponent
|  | effectEnd | Dispatched after an effect ends. | UIComponent
|  | effectStart | Dispatched just before an effect starts. | UIComponent
|  | effectStop | Dispatched after an effect is stopped, which happens only by a call to stop() on the effect. | UIComponent
|  | elementAdd | Dispatched when a visual element is added to the content holder. | Group
|  | elementRemove | Dispatched when a visual element is removed from the content holder. | Group
|  | enterState | Dispatched after the component has entered a view state. | UIComponent
|  | exitState | Dispatched just before the component exits a view state. | UIComponent
|  | hide | Dispatched when an object's state changes from visible to invisible. | UIComponent
|  | initialize | Dispatched when the component has finished its construction and has all initialization properties set. | UIComponent
|  | invalid | Dispatched when a component is monitored by a Validator and the validation failed. | UIComponent
|  | mouseDownOutside | Dispatched from a component opened using the PopUpManager when the user clicks outside it. | UIComponent
|  | mouseWheelOutside | Dispatched from a component opened using the PopUpManager when the user scrolls the mouse wheel outside it. | UIComponent
|  | move | Dispatched when the object has moved. | UIComponent
|  | preinitialize | Dispatched at the beginning of the component initialization sequence. | UIComponent
|  | remove | Dispatched when the component is removed from a container as a content child by using the removeChild(), removeChildAt(), removeElement(), or removeElementAt() method. | UIComponent
|  | resize | Dispatched when the component is resized. | UIComponent
|  | show | Dispatched when an object's state changes from invisible to visible. | UIComponent
|  | stateChangeComplete | Dispatched after the component has entered a new state and any state transition animation to that state has finished playing. | UIComponent
|  | stateChangeInterrupted | Dispatched when a component interrupts a transition to its current state in order to switch to a new state. | UIComponent
|  | toolTipCreate | Dispatched by the component when it is time to create a ToolTip. | UIComponent
|  | toolTipEnd | Dispatched by the component when its ToolTip has been hidden and is to be discarded soon. | UIComponent
|  | toolTipHide | Dispatched by the component when its ToolTip is about to be hidden. | UIComponent
|  | toolTipShow | Dispatched by the component when its ToolTip is about to be shown. | UIComponent
|  | toolTipShown | Dispatched by the component when its ToolTip has been shown. | UIComponent
|  | toolTipStart | Dispatched by a component whose toolTip property is set, as soon as the user moves the mouse over it. | UIComponent
|  | touchInteractionEnd | A non-cancellable event, dispatched by a component when it is done responding to a touch interaction user gesture. | UIComponent
|  | touchInteractionStart | A non-cancellable event, dispatched by a component when it starts responding to a touch interaction user gesture. | UIComponent
|  | touchInteractionStarting | A cancellable event, dispatched by a component in an attempt to respond to a touch interaction user gesture. | UIComponent
|  | updateComplete | Dispatched when an object has had its commitProperties(), measure(), and updateDisplayList() methods called (if needed). | UIComponent
|  | valid | Dispatched when a component is monitored by a Validator and the validation succeeded. | UIComponent
|  | valueCommit | Dispatched when values are changed programmatically or by user interaction. | UIComponent

Styles
Hide Inherited Styles
Show Inherited Styles

| Style | Description | Defined By
--- | --- | --- | ---
|  | accentColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark, mobile Accent color used by component skins. | GroupBase
|  | alignmentBaseline | Type: String CSS Inheritance: yes Specifies the baseline to which the dominant baseline aligns. See also flashx.textLayout.formats.ITextLayoutFormat.alignmentBaseline | GroupBase
|  | alternatingItemColors | Type: Array Format: Color CSS Inheritance: yes Theme: spark, mobile The colors to use for the backgrounds of the items in the list. | GroupBase
|  | baseline | Type: String CSS Inheritance: no The vertical distance in pixels from the top edge of the content area to the control's baseline position. | UIComponent
|  | baselineShift | Type: Object CSS Inheritance: yes Amount to shift the baseline. See also flashx.textLayout.formats.ITextLayoutFormat.baselineShift | GroupBase
|  | blockProgression | Type: String CSS Inheritance: yes Specifies a vertical or horizontal progression of line placement. See also flashx.textLayout.formats.ITextLayoutFormat.blockProgression | GroupBase
|  | bottom | Type: String CSS Inheritance: no The vertical distance, in pixels, from the bottom edge of the component to the bottom edge of its parent container's content area. | UIComponent
|  | breakOpportunity | Type: String CSS Inheritance: yes Controls where lines are allowed to break when breaking wrapping text into multiple lines. See also flashx.textLayout.formats.ITextLayoutFormat.breakOpportunity | GroupBase
|  | cffHinting | Type: String CSS Inheritance: yes The type of CFF hinting used for this text. See also flashx.textLayout.formats.ITextLayoutFormat.cffHinting | GroupBase
|  | chromeColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark, mobile The main color for a component. | GroupBase
|  | clearFloats | Type: String CSS Inheritance: yes Controls how text wraps around a float. See also flashx.textLayout.formats.ITextLayoutFormat.clearFloats | GroupBase
|  | color | Type: uint Format: Color CSS Inheritance: yes Color of the text. See also flashx.textLayout.formats.ITextLayoutFormat.color spark.components.supportClasses.StyleableTextField.color spark.components.supportClasses.StyleableStageText.color | GroupBase
|  | columnBreakAfter | Type: String CSS Inheritance: yes Controls column break after the element. See also flashx.textLayout.formats.ITextLayoutFormat.columnBreakAfter | GroupBase
|  | columnBreakBefore | Type: String CSS Inheritance: yes Controls column break before the element. See also flashx.textLayout.formats.ITextLayoutFormat.columnBreakBefore | GroupBase
|  | containerBreakAfter | Type: String CSS Inheritance: yes Controls container break after the element. See also flashx.textLayout.formats.ITextLayoutFormat.containerBreakAfter | GroupBase
|  | containerBreakBefore | Type: String CSS Inheritance: yes Controls container break before the element. See also flashx.textLayout.formats.ITextLayoutFormat.containerBreakBefore | GroupBase
|  | contentBackgroundAlpha | Type: Number CSS Inheritance: yes Theme: spark, mobile The alpha of the content background for this component. | GroupBase
|  | contentBackgroundColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark, mobile The color of the content background for this component. | GroupBase
|  | digitCase | Type: String CSS Inheritance: yes The type of digit case used for this text. See also flashx.textLayout.formats.ITextLayoutFormat.digitCase | GroupBase
|  | digitWidth | Type: String CSS Inheritance: yes Type of digit width used for this text. See also flashx.textLayout.formats.ITextLayoutFormat.digitWidth | GroupBase
|  | direction | Type: String CSS Inheritance: yes Specifies the default bidirectional embedding level of the text. See also flashx.textLayout.formats.ITextLayoutFormat.direction | GroupBase
|  | disabledAlpha | Type: Number CSS Inheritance: no Theme: spark, mobile The alpha value when the container is disabled. | GroupBase
|  | dominantBaseline | Type: String CSS Inheritance: yes Specifies which element baseline snaps to the `alignmentBaseline` to determine the vertical position of the element on the line. See also flashx.textLayout.formats.ITextLayoutFormat.dominantBaseline | GroupBase
|  | downColor | Type: uint Format: Color CSS Inheritance: yes Theme: mobile Color of the background of an item renderer when it is being pressed down If `downColor` is set to `undefined`, `downColor` is not used. The default value for the Spark theme is `undefined`. | GroupBase
|  | errorColor | Type: uint Format: Color CSS Inheritance: yes Color of the component highlight when validation fails. | UIComponent
|  | firstBaselineOffset | Type: Object CSS Inheritance: yes Specifies the baseline position of the first line in the container. See also flashx.textLayout.formats.ITextLayoutFormat.firstBaselineOffset | GroupBase
|  | focusColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark, mobile Color of focus ring when the component is in focus. | GroupBase
|  | focusedTextSelectionColor | Type: uint Format: Color CSS Inheritance: yes The color of text when the component is enabled and has focus. | GroupBase
|  | focusSkin | Type: Class CSS Inheritance: no Skin used to draw the focus rectangle. | UIComponent
|  | fontFamily | Type: String CSS Inheritance: yes The name of the font to use, or a comma-separated list of font names. See also flashx.textLayout.formats.ITextLayoutFormat.fontFamily spark.components.supportClasses.StyleableStageText.fontFamily spark.components.supportClasses.StyleableTextField.fontFamily | GroupBase
|  | fontLookup | Type: String CSS Inheritance: yes Font lookup to use. See also flashx.textLayout.formats.ITextLayoutFormat.fontLookup | GroupBase
|  | fontSize | Type: Number Format: Length CSS Inheritance: yes Height of the text, in pixels. See also flashx.textLayout.formats.ITextLayoutFormat.fontSize spark.components.supportClasses.StyleableStageText.fontSize spark.components.supportClasses.StyleableTextField.fontSize | GroupBase
|  | fontStyle | Type: String CSS Inheritance: yes Determines whether the text is italic font. See also flashx.textLayout.formats.ITextLayoutFormat.fontStyle spark.components.supportClasses.StyleableStageText.fontStyle spark.components.supportClasses.StyleableTextField.fontStyle | GroupBase
|  | fontWeight | Type: String CSS Inheritance: yes Determines whether the text is boldface. See also flashx.textLayout.formats.ITextLayoutFormat.fontWeight spark.components.supportClasses.StyleableStageText.fontWeight spark.components.supportClasses.StyleableTextField.fontWeight | GroupBase
|  | horizontalCenter | Type: String CSS Inheritance: no The horizontal distance in pixels from the center of the component's content area to the center of the component. | UIComponent
|  | inactiveTextSelectionColor | Type: uint Format: Color CSS Inheritance: yes The color of text when the component is disabled. | GroupBase
|  | interactionMode | Type: String CSS Inheritance: yes The primary interaction mode for this component. See also mx.core.InteractionMode.MOUSE mx.core.InteractionMode.TOUCH | UIComponent
|  | justificationRule | Type: String CSS Inheritance: yes Rule used to justify text in a paragraph. See also flashx.textLayout.formats.ITextLayoutFormat.justificationRule | GroupBase
|  | justificationStyle | Type: String CSS Inheritance: yes The style used for justification of the paragraph. See also flashx.textLayout.formats.ITextLayoutFormat.justificationStyle | GroupBase
|  | kerning | Type: String CSS Inheritance: yes The style used for justification of the paragraph. See also flashx.textLayout.formats.ITextLayoutFormat.kerning | GroupBase
|  | layoutDirection | Type: String CSS Inheritance: yes Specifies the desired layout direction of a component. See also MXFTEText.css mx.core.ILayoutDirectionElement mx.core.LayoutDirection | UIComponent
|  | leading | Type: Number Format: Length CSS Inheritance: yes Theme: mobile Additional vertical space between lines of text. See also spark.components.supportClasses.StyleableTextField.leading lineHeight | GroupBase
|  | leadingModel | Type: String CSS Inheritance: yes Specifies the leading model, which is a combination of leading basis and leading direction. See also flashx.textLayout.formats.ITextLayoutFormat.leadingModel | GroupBase
|  | left | Type: String CSS Inheritance: no The horizontal distance, in pixels, from the left edge of the component to the left edge of its parent container's content area. | UIComponent
|  | letterSpacing | Type: Number CSS Inheritance: yes Theme: mobile The number of additional pixels to appear between each character. See also spark.components.supportClasses.StyleableTextField.letterSpacing trackingLeft trackingRight | GroupBase
|  | ligatureLevel | Type: String CSS Inheritance: yes Controls which of the ligatures that are defined in the font may be used in the text. See also flashx.textLayout.formats.ITextLayoutFormat.ligatureLevel | GroupBase
|  | lineHeight | Type: Object CSS Inheritance: yes Leading controls for the text. See also flashx.textLayout.formats.ITextLayoutFormat.lineHeight leading | GroupBase
|  | lineThrough | Type: Boolean CSS Inheritance: yes If true, applies strikethrough, a line drawn through the middle of the text. See also flashx.textLayout.formats.ITextLayoutFormat.lineThrough | GroupBase
|  | listAutoPadding | Type: Number Format: length CSS Inheritance: yes This specifies an auto indent for the start edge of lists when the padding value of the list on that side is `auto`. See also flashx.textLayout.formats.ITextLayoutFormat.listAutoPadding | GroupBase
|  | listStylePosition | Type: String CSS Inheritance: yes This controls the placement of a list item marker relative to the list item. See also flashx.textLayout.formats.ITextLayoutFormat.listStylePosition | GroupBase
|  | listStyleType | Type: String CSS Inheritance: yes This controls the appearance of items in a list. See also flashx.textLayout.formats.ITextLayoutFormat.listStyleType | GroupBase
|  | locale | Type: String CSS Inheritance: yes The locale of the text. See also http://www.unicode.org/reports/tr35/ | GroupBase
|  | paragraphEndIndent | Type: Number Format: length CSS Inheritance: yes The amount to indent the paragraph's end edge. See also flashx.textLayout.formats.ITextLayoutFormat.paragraphEndIndent | GroupBase
|  | paragraphSpaceAfter | Type: Number Format: length CSS Inheritance: yes The amount of space to leave after the paragraph. See also flashx.textLayout.formats.ITextLayoutFormat.paragraphSpaceAfter | GroupBase
|  | paragraphSpaceBefore | Type: Number Format: length CSS Inheritance: yes The amount of space to leave before the paragraph. See also flashx.textLayout.formats.ITextLayoutFormat.paragraphSpaceBefore | GroupBase
|  | paragraphStartIndent | Type: Number Format: length CSS Inheritance: yes The amount to indent the paragraph's start edge. See also flashx.textLayout.formats.ITextLayoutFormat.paragraphStartIndent | GroupBase
|  | renderingMode | Type: String CSS Inheritance: yes The rendering mode used for this text which applies only to embedded fonts. See also flashx.textLayout.formats.ITextLayoutFormat.renderingMode | GroupBase
|  | right | Type: String CSS Inheritance: no The horizontal distance, in pixels, from the right edge of the component to the right edge of its parent container's content area. | UIComponent
|  | rollOverColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark Color of the highlights when the mouse is over the component. | GroupBase
|  | showErrorSkin | Type: Boolean CSS Inheritance: yes Show the error border or skin when this component is invalid. | UIComponent
|  | showErrorTip | Type: Boolean CSS Inheritance: yes Show the error tip when this component is invalid and the user rolls over it. | UIComponent
|  | symbolColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark, mobile Color of any symbol of a component. | GroupBase
|  | tabStops | Type: String CSS Inheritance: yes Specifies the tab stops associated with the paragraph. See also flashx.textLayout.formats.ITextLayoutFormat.tabStops | GroupBase
|  | textAlign | Type: String CSS Inheritance: yes Alignment of text within a container. See also flashx.textLayout.formats.ITextLayoutFormat.textAlign spark.components.supportClasses.StyleableStageText.textAlign spark.components.supportClasses.StyleableTextField.textAlign | GroupBase
|  | textAlignLast | Type: String CSS Inheritance: yes Alignment of the last line in the paragraph relative to the container in justified text. See also flashx.textLayout.formats.ITextLayoutFormat.textAlignLast | GroupBase
|  | textAlpha | Type: Number CSS Inheritance: yes Alpha (transparency) value for the text. See also flashx.textLayout.formats.ITextLayoutFormat.textAlpha | GroupBase
|  | textDecoration | Type: String CSS Inheritance: yes Determines whether the text is underlined. See also flashx.textLayout.formats.ITextLayoutFormat.textDecoration spark.components.supportClasses.StyleableTextField.textDecoration | GroupBase
|  | textIndent | Type: Number Format: Length CSS Inheritance: yes Offset of first line of text from the left side of the container. See also flashx.textLayout.formats.ITextLayoutFormat.textIndent spark.components.supportClasses.StyleableTextField.textIndent | GroupBase
|  | textJustify | Type: String CSS Inheritance: yes Specifies options for justifying text. See also flashx.textLayout.formats.ITextLayoutFormat.textJustify | GroupBase
|  | textRotation | Type: String CSS Inheritance: yes Determines the number of degrees to rotate this text. See also flashx.textLayout.formats.ITextLayoutFormat.textRotation | GroupBase
|  | textShadowAlpha | Type: Number CSS Inheritance: yes Theme: mobile Alpha of text shadows. | Group
|  | textShadowColor | Type: uint Format: Color CSS Inheritance: yes Theme: mobile Color of text shadows. | Group
|  | themeColor | Type: uint Format: Color CSS Inheritance: yes Theme: halo Theme color of a component. | UIComponent
|  | top | Type: String CSS Inheritance: no The vertical distance, in pixels, from the top edge of the component to the top edge of its parent container's content area. | UIComponent
|  | touchDelay | Type: Number Format: Time CSS Inheritance: yes When in touch interaction mode, the number of milliseconds to wait after the user interaction has occured before showing the component in a visually down state. | GroupBase
|  | trackingLeft | Type: Object CSS Inheritance: yes The amount of tracking (manual kerning) to be applied to the left of each character. See also flashx.textLayout.formats.ITextLayoutFormat.trackingLeft | GroupBase
|  | trackingRight | Type: Object CSS Inheritance: yes The amount of tracking (manual kerning) to be applied to the right of each character. See also flashx.textLayout.formats.ITextLayoutFormat.trackingRight | GroupBase
|  | typographicCase | Type: String CSS Inheritance: yes The type of typographic case used for this text. See also flashx.textLayout.formats.ITextLayoutFormat.typographicCase | GroupBase
|  | unfocusedTextSelectionColor | Type: uint Format: Color CSS Inheritance: yes The color of text when the component is enabled but does not have focus. | GroupBase
|  | verticalCenter | Type: String CSS Inheritance: no The vertical distance in pixels from the center of the component's content area to the center of the component. | UIComponent
|  | whiteSpaceCollapse | Type: String CSS Inheritance: yes Collapses or preserves whitespace when importing text into a TextFlow. See also flashx.textLayout.formats.ITextLayoutFormat.whiteSpaceCollapse | GroupBase
|  | wordSpacing | Type: Object CSS Inheritance: yes Specifies the spacing between words to use during justification. See also flashx.textLayout.formats.ITextLayoutFormat.wordSpacing | GroupBase

Effects
Hide Inherited Effects
Show Inherited Effects

| Effect | Description | Defined By
--- | --- | --- | ---
|  | addedEffect | Triggering Event: added Played when the component is added as a child to a Container. | UIComponent
|  | creationCompleteEffect | Triggering Event: creationComplete Played when the component is created. | UIComponent
|  | focusInEffect | Triggering Event: focusIn Played when the component gains keyboard focus. | UIComponent
|  | focusOutEffect | Triggering Event: focusOut Played when the component loses keyboard focus. | UIComponent
|  | hideEffect | Triggering Event: hide Played when the component becomes invisible. | UIComponent
|  | mouseDownEffect | Triggering Event: mouseDown Played when the user presses the mouse button while over the component. | UIComponent
|  | mouseUpEffect | Triggering Event: mouseUp Played when the user releases the mouse button while over the component. | UIComponent
|  | moveEffect | Triggering Event: move Played when the component is moved. | UIComponent
|  | removedEffect | Triggering Event: removed Played when the component is removed from a Container. | UIComponent
|  | resizeEffect | Triggering Event: resize Played when the component is resized. | UIComponent
|  | rollOutEffect | Triggering Event: rollOut Played when the user rolls the mouse so it is no longer over the component. | UIComponent
|  | rollOverEffect | Triggering Event: rollOver Played when the user rolls the mouse over the component. | UIComponent
|  | showEffect | Triggering Event: show Played when the component becomes visible. | UIComponent

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined By
--- | --- | ---
|  | DEFAULT_MAX_HEIGHT : Number = 10000 [static] The default value for the maxHeight property. | UIComponent
|  | DEFAULT_MAX_WIDTH : Number = 10000 [static] The default value for the maxWidth property. | UIComponent
|  | DEFAULT_MEASURED_HEIGHT : Number = 22 [static] The default value for the measuredHeight property. | UIComponent
|  | DEFAULT_MEASURED_MIN_HEIGHT : Number = 22 [static] The default value for the measuredMinHeight property. | UIComponent
|  | DEFAULT_MEASURED_MIN_WIDTH : Number = 40 [static] The default value for the measuredMinWidth property. | UIComponent
|  | DEFAULT_MEASURED_WIDTH : Number = 160 [static] The default value for the measuredWidth property. | UIComponent

Property Detail

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.

Implementation
`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`.

Implementation
`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.

Implementation
`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`.

Implementation
`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.

Implementation
`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`.

Implementation
`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`.

Implementation
`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.

Implementation
`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.

Implementation
`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.

Implementation
`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.

Implementation
`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.

Implementation
`public function get showsCaret():Boolean`
`public function set showsCaret(value:Boolean):void`
Constructor Detail

GridItemRenderer | () | Constructor

`public function GridItemRenderer()`

Language Version : | ActionScript 3.0

Product Version : | Flex 4.5

Runtime Versions : | Flash Player 10, AIR 2.5

Constructor.

Method Detail

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:

- dragging
- downAndSelected
- selectedAndShowsCaret
- hoveredAndShowsCaret
- normalAndShowsCaret
- down
- selected
- hovered
- normal

Returns

| `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.

Event Detail

dataChange | Event

Event Object Type: `mx.events.FlexEvent`
FlexEvent.type property = `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.

The `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.

Examples
GridItemRendererExample.mxml

    <?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 '&#10;' escape to introduce
                two newlines (the value of the newline character is decimal 10).

                <s:DataItem value="Lorem Ipsum sample text.&#10;Lorem Ipsum sample text.&#10;"/>
                -->
                <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>

GridItemRendererCustomBindingExample.mxml

    <?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>

GridItemRendererCustomPrepareExample.mxml

    <?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>

Sun Mar 5 2017, 03:42 PM +11:00