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