Hi Sankar,

You are on the wrong way. This is not the way you write an
itemRenderer. Please refer the folllowing link to get a clear idea
about itemrenderers in actionscript.

http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=cellrenderer_072_32.html

HTH,

-Ravi

On Mar 11, 9:31 am, Sankar <[email protected]> wrote:
> Hi All,
>
>  am trying to build item renderer for a List component in action
> script rather than in mxml. In the action script class am creating a
> HBox dynamically and adding Labels to is by overriding the
> createChildern() and also overriding the updateDisplayList() and
> commitProperties() and in which am setting the values to labels.
>
>           When i run the application in debug mode am able to see the
> values being set to the labels but am not seeing the values getting
> displayed in the List control.
>
>          Here am posting the code,so that the problem can be
> identified.
>
> Can anyone help me how to resolve this problem?
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> layout="absolute">
>         <mx:Script>
>                 <![CDATA[
>                         import mx.collections.ArrayCollection;
>
>                         [Bindable]
>                         private var initData:ArrayCollection = new 
> ArrayCollection([
>                                 {task:"pay bill", 
> category:"Office",priority:"Medium"},
>                                 {task:"meet ravi on 
> sunday",category:"personal",priority:"Low"},
>                                 {task:"buy a 
> book",category:"friends",priority:"Medium"},
>                                 {task:"play 
> cricket",category:"friends",priority:"Low"},
>                                 ]);
>                 ]]>
>         </mx:Script>
>
>         <mx:List dataProvider="{initData}" width="50%" height="50%"
>                  itemRenderer="components.RendererInAS"/>
> </mx:Application>
>
>     ItemRenderer file :
>
> package components
> {
>
>         import mx.containers.HBox;
>         import mx.controls.Label;
>         import mx.controls.listClasses.BaseListData;
>         import mx.controls.listClasses.IDropInListItemRenderer;
>         import mx.controls.listClasses.IListItemRenderer;
>         import mx.core.UIComponent;
>         import mx.events.FlexEvent;
>
>         public class RendererInAS extends UIComponent implements
> IListItemRenderer {
>
>                 public function RendererInAS() {
>                    super();
>                 }
>
>              // Internal variable for the property value.
>              private var _data:Object;
>
>              private var _listData:BaseListData;
>
>              // Make the data property bindable.
>              [Bindable("dataChange")]
>
>              // Define the getter method.
>              public function get data():Object {
>                  return _data;
>              }
>
>              // Define the setter method, and dispatch an event when the
> property
>              // changes to support data binding.
>              public function set data(value:Object):void {
>                  _data = value;
>
>                  invalidateProperties();
>                  dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
>              }
>
>              private var hBox:HBox;
>              private var task:Label;
>              private var category:Label;
>              private var priority:Label;
>
>              override protected function createChildren():void {
>                       super.createChildren();
>
>                       hBox = new HBox();
>
>                       task = new Label();
>                       category = new Label();
>                       priority = new Label();
>                       hBox.addChild (task);
>                       hBox.addChild (category);
>                           hBox.addChild (priority);
>              }
>
>              override protected function commitProperties():void {
>                       super.commitProperties();
>
>                       hBox.horizontalScrollPolicy = 'off';
>                       hBox.verticalScrollPolicy = 'off';
>
>                       hBox.percentWidth = 100;
>
>                       task.text = _data.task;
>                       category.text = _data.category;
>                       priority.text = _data.priority;
>                  }
>
>              override protected function updateDisplayList
> (unscaledWidth:Number, unscaledHeight:Number):void {
>                       super.updateDisplayList(unscaledWidth,unscaledHeight);
>                       hBox.move(0,0);
>                       hBox.setActualSize( (unscaledWidth-4), unscaledHeight);
>              }
>          }
>
> }
>
>  Thanks
>   sankar
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Flex 
India Community" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/flex_india?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to