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

