I actually wanted the selected the selected item.
But this cannot be done as the item is still not created yet, its just in
the setting its properties stage.

Anyways I had already assigned the data of the first selected item to my
right list(the other list).
All I wanted is the selected item in my left list ie the renderer should
change some state
that means I have to add state to the item renderer, that means lots of
changes :(

On Thu, Jul 30, 2009 at 11:01 AM, hsivaramakrish...@gmail.com <
hsivaramakrish...@gmail.com> wrote:

>
> Hissam
>
> I presume, you are accessing the itemRenderer of the List just to get
> access to the data Object that it holds. If that is the case, you can
> get the data object by doing the following
>
> In my code, inside the myFunc method, you can access the data of the
> selected item of ist1 by using  -( mylist1.dataProvider as
> ArrayCollection).getItemAt(value)
>
> This will give access to the object of the current selection that
> mylist1 is holding. It is not very reilable tracking itemRenderer
> instances of List / ListBase components as they get recycled at
> various cycles like scrolling / dataProvider change. Its recommended
> to use the underlying dataProvider to access the data objects.
>
> Let me know if this approach works. I will post some code later the
> day.
>
> Harish
> Evangelist, Adobe India
>
> On Jul 30, 7:20 am, HISSAM <hissam.sher...@gmail.com> wrote:
> > Hey Guys
> >
> > I tried the other way using the mx_internal accessing the rendererArray
> > which stores all the renderers but not to my surprise I got NULL object
> > as I'm just in the phase of assigning data
> >
> > :(
> >
> > On Thu, Jul 30, 2009 at 9:53 AM, HISSAM <hissam.sher...@gmail.com>
> wrote:
> > > Hey hsivaramakrishnan
> >
> > >                                      Its really appreciating that u
> stood
> > > up with an example for solving my issue, thanks for your support.
> > > Things still did not work up as i have nothing to do with the selected
> > > index change.
> >
> > > I'll explain again.
> >
> > > When a user click on an item in a list, the default "itemclick" event
> is
> > > generated which I'm catching and things are working smooth.
> > >
> //****************************************************************************************************
> >
> > > private function selectLeftListItem(l:ListEvent):void
> > >         {
> > >             var item:SelectLeftRenderer;
> > >             if(l.currentTarget is List)
> > >             {
> > >                 var list:PublishList=l.currentTarget as PublishList;
> > >                 var o:Object=l.itemRenderer.data;
> > >                 if(o!=selectedItemData)
> > >                 {
> > >                   .
> > >                   .
> > >                   .
> > >
>  
> /**********************************************************************************************/
> >
> > > No I want to fire this default event ("itemselect" event) explictly at
> the
> > > start
> > > where i was trying like this
> >
> > >
> /*************************************************************************************************************
> > > leftList.dataProvider=libfiles;
> > >                         leftList.selectedIndex=0;//setting the 1st item
> as
> > > selected
> > >                         var l:ListEvent=new
> > > ListEvent(ListEvent.ITEM_CLICK);//trying to dispatch event explictly
> > >                         l.itemRenderer=leftList.itemRenderer as
> > > IListItemRenderer;//****************problem area
> > >                         l.itemRenderer.data=leftList.selectedItem as
> > > IListItemRenderer;
> > >                         leftList.dispatchEvent(l);
> > >
> /****************************************************************************************************************/
> >
> > > But could not go ahead as list is not allowing me to access its
> renderer
> > > directly
> >
> > > I guess I'm clear enough to explain my problem.
> >
> > > My next plan of action is to use the mx_internal which I really dont
> want
> > > to do :(
> >
> > > On Wed, Jul 29, 2009 at 7:50 PM, hsivaramakrish...@gmail.com <
> > > hsivaramakrish...@gmail.com> wrote:
> >
> > >> If I understood your problem correctly, The following code should
> > >> solve your problem. It is indeed solved using BindingUtils.
> >
> > >> <?xml version="1.0" encoding="utf-8"?>
> > >> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> > >> layout="vertical" creationComplete="init()">
> > >>        <mx:NumericStepper stepSize="0.01"/>
> > >> <mx:Script>
> > >>        <![CDATA[
> > >>                import mx.binding.utils.BindingUtils;
> > >>                [Bindable]private var _selectedIndex:Number = -1;
> > >>                private function init():void
> > >>                {
> >
> > >>                        BindingUtils.bindSetter(myFunc,
> > >> mylist,"selectedIndex");
> > >>                        _selectedIndex = 1;
> > >>                }
> > >>               /* As SelectedIndex Changes, this method gets called
> > >> and will give you access to the property selected. You can use that or
> > >> any other prop of the list to do your magic here */
> >
> > >>                private function myFunc(value:Object):void
> > >>                {
> > >>                        //dummy implementation, change this to yours.
> > >>                        if(value != -1)
> > >>                        {
> > >>                                mylist2.dataProvider.addItem(4);
> > >>                        }
> > >>                }
> > >>        ]]>
> > >> </mx:Script>
> > >> <mx:List id="mylist" dataProvider="{[1,2,3]}"
> > >> selectedIndex="{_selectedIndex}" width="200" height="200"/>
> > >> <mx:List id="mylist2" dataProvider="{[1,2,3]}" width="200"
> > >> height="200"/>
> > >> </mx:Application>
> >
> > >> On Jul 29, 4:29 pm, Ravi Mishra <ravi.achi...@gmail.com> wrote:
> > >> > Try using collectionChange event of the dataprovider of first list.
> It
> > >> > could help.
> >
> > >> > -Ravi
> >
> > >> > On Jul 29, 4:18 pm, HISSAM <hissam.sher...@gmail.com> wrote:
> >
> > >> > > Its not the question of creation complete
> > >> > > what when my dataprovider of left list changes??
> > >> > > no creation event is gonna trigger
> > >> > > Also at creation complete how do i access the 1st selected item??
> >
> > >> > > On Wed, Jul 29, 2009 at 6:49 PM, Amol Pandhare <
> > >> genius.ge...@gmail.com>wrote:
> >
> > >> > > > Hey Hissam,
> >
> > >> > > > You might be having a click listener on the left list and a
> function
> > >> > > > associated to it. On the same list keep a creationComplete
> listener
> > >> and
> > >> > > > point it to the same listener function as that of the click
> event.
> > >> And for
> > >> > > > the listener function to work make the event type of the
> attribute
> > >> as Event,
> > >> > > > the super class, instead of say ListEvent. Dont forget to set
> the
> > >> selected
> > >> > > > index of the left list.
> >
> > >> > > > This should help.
> >
> > >> > > > Regards,
> > >> > > > Amol.
> >
> > >> > > > On Wed, Jul 29, 2009 at 4:00 PM, HISSAM <
> hissam.sher...@gmail.com>
> > >> wrote:
> >
> > >> > > >> I have already tried that!!
> >
> > >> > > >> On Wed, Jul 29, 2009 at 6:26 PM, sheetal <
> sheetalnilw...@gmail.com
> > >> >wrote:
> >
> > >> > > >>> Try setting the selected index of that list and dispatch click
> > >> event
> > >> > > >>> on the list.
> >
> > >> > > >>> On Jul 29, 3:14 pm, HISSAM <hissam.sher...@gmail.com> wrote:
> > >> > > >>> > I have 2 list(left list /right list ) and click on an item
> of
> > >> left-
> > >> > > >>> > list , data is changed of the right list respective with the
> > >> item
> > >> > > >>> > selected in the lest list.
> >
> > >> > > >>> > This is working fine with no hassels at all.
> >
> > >> > > >>> > My requirement is
> >
> > >> > > >>> > At the start i want the 1st item of the right list be
> selected
> > >> and
> > >> > > >>> > dispatch the respective event to change the data of the left
> > >> list.
> >
> > >> > > >>> > How do i go about?
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Flex 
India Community" group.
To post to this group, send email to flex_india@googlegroups.com
To unsubscribe from this group, send email to 
flex_india+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/flex_india?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to