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