Check out my second post in this thread which is as follows

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.

HTH,

-Ravi

On Mar 11, 4:15 pm, Sankar <[email protected]> wrote:
> Hi Ravi Mishra,
>
>   I already have seen this example but it doesn't help me . In this
> example data getting displayed with the help of DataGridColumn and in
> the itemRenderer written in actionScript just does the decoration by
> overriding the setter for data property.
>
>   But what am i trying to do is i wanted to laydown the controls also
> in the action script itself like how we use the containers say HBox in
> the custom itemRenderer in MXML and data proprty.  I think in this
> case the link what you send doesn't help me.
>
>  Thanks
>    sankar
>
> 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