So put in a trace(key) and see what 'key' is. That might make clear what
you're doing wrong.

 

Gordon Smith

Adobe Flex SDK Team

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Jason B
Sent: Thursday, August 21, 2008 5:35 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Re: getChildByName using it to get the value of a
textbox

 

Yes i tried that and while it loops it doesnt give KEY what i need

example

for (var key:String in dynamicallyCreatedComponents){

var t:TextInput = dynamicallyCreatedComponents[key] as TextInput;
Alert.show(t.text); //produces error
}

--- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
, "Gordon Smith" <[EMAIL PROTECTED]> wrote:
>
> If you want to loop over the keys (the names of the components), you
> need a for-in loop:
> 
> 
> 
> for (var key:String in dynamicallyCreatedComponents)
> 
> 
> 
> A for-each-in loop loops over the values (the references to the
> componetns).
> 
> 
> 
> There is no such thing as a for-each-as loop as you've written below.
> 
> 
> 
> Gordon Smith
> 
> Adobe Flex SDK Team
> 
> 
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
[mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
] On
> Behalf Of Jason B
> Sent: Wednesday, August 20, 2008 11:09 AM
> To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> 
> Subject: [flexcoders] Re: getChildByName using it to get the value of
a
> textbox
> 
> 
> 
> Can i loop through the items in that object 
> 
> example
> 
> for each(var items:String as dynamicallyCreatedComponents){
> var t:TextInput = dynamicallyCreatedComponents[items] as TextInput;
> Alert.show(t.text); //THROWS ERROR
> 
> }
> 
> I was hoping to set the array key dynamically and loop through it
later?
> can this be done Gordan
> 
> --- In flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com>
> , "Gordon Smith" <gosmith@> wrote:
> >
> > Declare an instance variable of type Object or Dictionary for
storing
> > named references to dynamically created components:
> > 
> > 
> > 
> > public var dynamicallyCreatedComponents:Object = {};
> > 
> > 
> > 
> > In a method where you create a component at runtime, do
> > 
> > 
> > 
> > var b:Button = new Button();
> > 
> > b.label = "OK";
> > 
> > dynamicallyCreatedComponents["okButton"] = b;
> > 
> > 
> > 
> > Later you can access this button as follows:
> > 
> > 
> > 
> > dynamicallyCreatedComponents["okButton"]
> > 
> > 
> > 
> > Gordon Smith
> > 
> > Adobe Flex SDK Team
> > 
> > 
> > 
> > ________________________________
> > 
> > From: flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com>
> [mailto:flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com>
> ] On
> > Behalf Of Jason B
> > Sent: Tuesday, August 19, 2008 7:38 AM
> > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com> 
> > Subject: [flexcoders] Re: getChildByName using it to get the value
of
> a
> > textbox
> > 
> > 
> > 
> > thanks Tracy could you provide an example of how this is done,
> > examples always help others out, or tell me what i should be
searching
> > for to find an example
> > 
> > --- In flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> 
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > , "Tracy Spratt" <tspratt@> wrote:
> > >
> > > A good solution to that issue is to maintian a structure of
> references
> > > pointing to each dynamically created component.
> > > 
> > > 
> > > 
> > > I personally like an Associative Array/Object/Hashtable. This is
way
> > > more positive than attempting to loop through the DOM.
> > > 
> > > 
> > > 
> > > There will be plenty examples available.
> > > 
> > > 
> > > 
> > > Tracy
> > > 
> > > 
> > > 
> > > ________________________________
> > > 
> > > From: flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> 
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > [mailto:flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> 
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > ] On
> > > Behalf Of Jason B
> > > Sent: Monday, August 18, 2008 5:47 PM
> > > To: flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com>
<mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com> 
> > > Subject: [flexcoders] Re: getChildByName using it to get the value
> of
> > a
> > > textbox
> > > 
> > > 
> > > 
> > > Because the items are not in MXML its in actionscript which
> > > dynamically creates the items for my form from a database and i
want
> > > to dynamically loop the text box's so i can then save the data
back
> to
> > > the database.
> > > you cant refer to a ID since the components are created at runtime
> > > 
> > > --- In flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> 
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > , "Gordon Smith" <gosmith@> wrote:
> > > >
> > > > Why are you trying to use getChildByName to get a reference to a
> > > > component? If you give it an 'id' attribute in MXML, you can
then
> > > refer
> > > > to it by that id.
> > > > 
> > > > 
> > > > 
> > > > Gordon Smith
> > > > 
> > > > Adobe Flex SDK Team
> > > > 
> > > > 
> > > > 
> > > > ________________________________
> > > > 
> > > > From: flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> 
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > [mailto:flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> 
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > ] On
> > > > Behalf Of Jason B
> > > > Sent: Monday, August 18, 2008 8:07 AM
> > > > To: flexcoders@yahoogroups.com
<mailto:flexcoders%40yahoogroups.com> 
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com> 
> > > > Subject: [flexcoders] getChildByName using it to get the value
of
> a
> > > > textbox
> > > > 
> > > > 
> > > > 
> > > > when using getchildbyname variable i've not been able to get the
> > value
> > > > can someone please post an example of how to get a value using
> > > > getChildByName.
> > > > 
> > > > var test:DisplayObject = this.getChildByName("inputtext" + i);
> > > >
> > >
> >
>

 

Reply via email to