sorry i didn't respond to your reply......slipped thru.

continuing from Alex, and having a closer look at your original 
post ......flexcoders is so busy and sometimes i just look at the 
title and give an answer...i'll be a good boy and read the question 
properly next time.

what you actually want is to use the TileList.indexToItemRenderer() 
function. that gives u a reference to the itemrenderer

eg.

myTiles.indexToItemRenderer(1)["testFunction"]();
//or
TestComonent(myTiles.indexToItemRenderer(1)).testFunction();
//or
var object1:TestComponent = myTiles.indexToItemRenderer(1) as 
TestComponent;
object1.testFunction(); 


regards
Bod

--- In [EMAIL PROTECTED], "Alex Harui" <[EMAIL PROTECTED]> wrote:
>
> Erin,
>  
> It looks like your array:
>     var arrTest:Array = [1,2,3,4];
> just contains numbers.
>  
> IList(myTiles.dataProvider).getItemAt(1) should return 2;
>  
> 2 is just a number so you it doesn't have a testFunction
>  
> Did you intend to pass 2 into testFunction?
>  
> That would be:
>     testFunction(IList(myTiles.dataProvider).getItemAt(1));
>  
> One good way to debug this is to start storing parts of the 
expression
> in temporary variables.
>  
> -Alex
> 
> ________________________________
> 
> From: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] On
> Behalf Of erinwyher
> Sent: Thursday, April 12, 2007 10:41 AM
> To: [EMAIL PROTECTED]
> Subject: [flexcoders] Re: Tilelist in Flex 2 - what to use instead 
of
> getItemAt()?
> 
> 
> 
> Thanks for the suggestion. My new error is: value is not a 
function.
> This comes up on this new line:
> 
> IList(myTiles.dataProvider).getItemAt(1).testFunction();
> 
> -Erin
> 
> --- In [EMAIL PROTECTED] <mailto:flexcoders%
40yahoogroups.com>
> , "craig.drabik" <craig.drabik@>
> wrote:
> >
> > Try using an ArrayCollection for your data provider instead of a
> > simple array. 
> > 
> > --- In [EMAIL PROTECTED]
> <mailto:flexcoders%40yahoogroups.com> , "erinwyher" <erinwyher@> 
wrote:
> > >
> > > Thanks for the suggestion, but it doesn't work :(. Do you need 
the
> > > latest version of Flex 2 for that to work? I didn't install the
> latest
> > > upgrade (2.1 I believe).
> > > 
> > > When I tried it, I got the following error.
> > > 
> > > TypeError: Error #1006: value is not a function.
> > > at test/clickedList()
> > > at test/___Button1_click()
> > > 
> > > Also, in the debugger, IList(myTiles.dataProvider) cannot be
> evaluated,
> > > and neither can IList(myTiles.dataProvider).getItemAt
(any_number)
> > > 
> > > Any more ideas? I really need help with this and I appreciate 
any
> > > suggestions! Thank you.
> > > 
> > > -Erin
> > > 
> > > --- In [EMAIL PROTECTED]
> <mailto:flexcoders%40yahoogroups.com> , "bhaq1972" <mbhaque@> 
wrote:
> > > >
> > > > the getItemAt() function is available but not like the flex 
1.5
> way.
> > > >
> > > > you can do the following
> > > >
> > > > import mx.collections.IList;
> > > >
> > > > public function clickedList():void {
> > > > //myTiles.getItemAt(1).testFunction();
> > > > IList(myTiles.dataProvider).getItemAt(1).testFunction();
> > > > etc
> > > >
> > > >
> > > >
> > > > --- In [EMAIL PROTECTED]
> <mailto:flexcoders%40yahoogroups.com> , "erinwyher" erinwyher@ 
wrote:
> > > > >
> > > > > In Flex 1.5, you use getItemAt() to call functions from the
> > > > children
> > > > > of the TileList, but that method no longer exists in F2. 
Any
> > > > > suggestions to do this?
> > > > >
> > > > > Here is some sample code:
> > > > >
> > > > > test.mxml:
> > > > > <?xml version="1.0" encoding="utf-8"?>
> > > > > <mx:Application
> > > > > xmlns:mx="http://www.adobe.com/2006/mxml
> <http://www.adobe.com/2006/mxml> "
> > > > > xmlns:view="view.*"
> > > > > layout="absolute"
> > > > > creationComplete="doInit()">
> > > > > <mx:Script>
> > > > > <![CDATA[
> > > > > public var arrTest:Array;
> > > > >
> > > > > public function doInit():void {
> > > > > arrTest = [1,2,3,4];
> > > > > myTiles.dataProvider = arrTest;
> > > > > }
> > > > > public function clickedList():void {
> > > > > //myTiles.getItemAt(1).testFunction
> > > > ();
> > > > > //I want to call a function here for
> > > > a specific set of tiles...
> > > > > how do I do that without getItemAt?
> > > > > //Note: getChildAt does not work
> > > > either
> > > > > }
> > > > > ]]>
> > > > > </mx:Script>
> > > > > <mx:Button label="click me" click="clickedList()"/>
> > > > >
> > > > > <mx:TileList id="myTiles" width="660"
> > > > itemRenderer="view.TestComponent"/>
> > > > >
> > > > > </mx:Application>
> > > > >
> > > > > TestComponent.mxml
> > > > > <?xml version="1.0" encoding="utf-8"?>
> > > > > <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml
> <http://www.adobe.com/2006/mxml> " width="40"
> > > > > height="30" backgroundColor="#FF3366">
> > > > > <mx:Script>
> > > > > <![CDATA[
> > > > > import mx.controls.Alert;
> > > > >
> > > > > public function testFunction():void {
> > > > > Alert.show('hi');
> > > > > }
> > > > > ]]>
> > > > > </mx:Script>
> > > > > </mx:Canvas>
> > > > >
> > > >
> > >
> >
>


Reply via email to