The code you're trying for issue #1 doesn't work because your
collection is holding formField instances, not just IDs. To retrieve
an item with a specific id you could do this:
function getFieldByID(idToFind:Number):FormField
{
for each(var ff:FormField in callLabelCollection)
{
if(ff.callLocation_id == idToFind)
return ff;
}
return null;
}
Not sure I completely understand issue #2 but you can always use
addItem() to add items to an ArrayCollection.
HTH,
Ben
--- In [email protected], "donvoltz" <[EMAIL PROTECTED]> wrote:
>
> Hi Ben or anyone else who would like to help,
>
> I tried to incorporate your suggestions, but I think I still am
> missing the whole idea about an array collection.
>
> in one part of my code, I have done the following
>
> for each (var item:XML in locationData){
> var ff:formField = new formField();
> ff.labelText = item..callLocation_DisplayName;
> ff.callLocationId = item..callLocation_id;
> ff.allowableDataFlag = item..deptCategory;
> ff.callSelectedDate = mysqlDate.format(calendarSelector.selectedDate);
> callLabelCollection.addItem(ff);
> addChild(ff);
> }
>
> This runs through the loop a total of 16 times to build my array
> collection.
>
> Now in a custom event handler, when the user selects a given date, I
> query a new table to determine who is scheduled in any of these 16
> locations on the selected date.
>
> What I need to do now is to set another parameter of the custom
> component based on the callLocationId that I set in my array collection.
>
> So for this I have 2 questions
>
> 1) how do I access the array at a given callLocationId from the array
> collection above?
>
> for this I have tried
>
> var someFF:formField =
> callLabelCollection.getItemIndex(item..callLocation_id) as formField;
>
> but am not getting any results
>
> and
>
> 2) how do I now add additional fields to this array to the array
> collection?
>
>
> Thanks for any help
>
> Don
>