I am sorry that I misunderstood your question.

You actually missed out a statement in createChildren Method. Just add
'this.addChild(hBox);' at the end of createChildren method.

-Ravi

On Mar 11, 1:52 pm, Ravi Mishra <[email protected]> wrote:
> 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/ww...
>
> 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