Right. The data is there, that's not exactly the problem. The problem is
that, although the data is there, the Repeater wasn't told that new data was
available. It already looped through the data once when it was empty and it
needs to be told that the data has changed. It listens to CollectionEvents
and updates itself.

Reassigning the source property is maybe the most accurate way to get the
result, but it looks like calling refresh() on the ArrayCollection will
trigger the Repeater to recreate its contents (FYI: This would NOT work for
DataGrid). Repeater treats all CollectionEvents as equivalent except
"update" which it ignores.

As for currentItem, when you access that property the getter method will
actually seek into the Collection if it hasn't been initialized yet, so
accessing currentItem effectively sets the currentItem (and currentIndex)
but it doesn't trigger creation of subcomponents.

On Thu, Jun 26, 2008 at 11:48 AM, Tom McNeer <[EMAIL PROTECTED]> wrote:

>   Jonathan,
>
> Thanks for the reply.
>
>
> The ArrayCollection will not notice if you manipulate the underlying Array
>> after the ArrayCollection has been created
>>
>
> Thanks. I understand that. But in debugging, I have confirmed that the
> ArrayCollection does contain the correct contents of the Array -- that the
> DataProvider in the Repeater also contains those contents -- and that the
> CurrentItem in the Repeater contains the correct contents.
>
> Could it be that the Repeater itself is not detecting the change from an
> empty AC to a populated one and not refreshing itself, even though its
> DataProvider is refreshed, because it's bound? Do I need to do something
> like call invalidateLayout() on the Repeater?
>
>
> --
> Thanks,
>
> Tom
>
> Tom McNeer
> MediumCool
> http://www.mediumcool.com
> 1735 Johnson Road NE
> Atlanta, GA 30306
> 404.589.0560
>  
>

Reply via email to