Tive a debruçar-me sobre o problema ....

e descobri isto que é muito nice

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="vertical"
xmlns:local="*" xmlns:controls="com.adobe.flex.extras.controls.*"
 creationComplete="handleCreationComplete()">
<mx:Script>
        <![CDATA[
         import mx.events.CollectionEvent;
         import mx.collections.ArrayCollection;

        [Bindable]
        private var myData:ArrayCollection = new ArrayCollection();

        private function handleCreationComplete():void{
         for(var i:int = 1; i < 50; i++){
         var t:Object = new Object();
         t="option " + i
         myData.addItem(t);
         }
        }

        private function handleCC():void{
         testel.scrollToIndex(myData.length);
        }



            private function handleBt():void{
             for(var i:int = 50; i < 100; i++){
         var t:Object = new Object();
         t="option " + i
         myData.addItem(t);
         }

         myData.refresh();
            }

        ]]>
    </mx:Script>

    <mx:List id="testel" dataProvider="{myData}"
updateComplete="handleCC()">

    </mx:List>
    <mx:Button click="handleBt()" label="click" />


</mx:Application>


ainda tens uma flag Boolean chamada updateCompletePendingFlag informa se um
componente já passou pelas 3 fases do layout validation.. segundo os docs :)

2010/2/19 Nuno Fernandes <[email protected]>

> Epa posso ter entendido mal, tu queres que a lista faça um scroll
> automatico ou que se pocisione no fim?
>
> 2010/2/19 João Saleiro <[email protected]>
>
>  Nuno,
>>
>> a ideia é fazer Scroll do List, e só o posso fazer depois do List ter
>> terminado o seu processo de actualização de UI - que acontece depois do
>> collectionChange.
>> Uma das soluções propostas é escutar o collectionChange, marcar uma flag a
>> true que indica que os dados mudaram, e no updateComplete do List ver se
>> essa flag esta a true. Em caso afirmativo, deve ser colocada a false, e ser
>> aplicado o scroll. ...Mas cheira-me demasiado a hack....
>>
>> JS
>>
>>
>> On 19-02-2010 15:02, Nuno Fernandes wrote:
>>
>> João assim de cabeça, se o myData for um Arraycollection podes adicionar
>> um eventListener CollectionChange e depois na função que faz o handler só
>> tens que dizer  a List que o seu selected index é igual ao lenght (talvez
>> lenght -1) do myData
>>
>>
>> 2010/2/18 João Saleiro <[email protected]>
>>
>>> Boas,
>>>
>>> preciso de fazer scroll para o final de um <s:List quando o dataProvider
>>> do mesmo muda (quando é atribuido, ou quando os seus valores são alterados).
>>> Obviamente, só posso fazer scroll depois do List ser redesenhado, e criado o
>>> scroller, portanto preciso do evento certo para o momento certo. O
>>> dataProvider é atribuído por Binding:
>>>
>>> <s:List dataProvider="{myData}"/>
>>>
>>> Sugestões?
>>>
>>>
>>> --
>>>   João Saleiro
>>> Chief Technology Officer
>>>           Tlm 1: +351 916 077 097 Skype: joao.saleiro  Tlm 2: +351 968
>>> 203 370 Email/MSN: [email protected]       www.webfuel.pt
>>>  --
>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
>>> Grupos do Google.
>>> Para publicar uma mensagem neste grupo, envie um e-mail para
>>> [email protected].
>>> Para anular a inscrição neste grupo, envie um e-mail para
>>> [email protected]<riapt%[email protected]>
>>> .
>>> Para ver mais opções, visite este grupo em
>>> http://groups.google.com/group/riapt?hl=pt-PT.
>>>
>>
>>  --
>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
>> Grupos do Google.
>> Para publicar uma mensagem neste grupo, envie um e-mail para
>> [email protected].
>> Para anular a inscrição neste grupo, envie um e-mail para
>> [email protected].
>> Para ver mais opções, visite este grupo em
>> http://groups.google.com/group/riapt?hl=pt-PT.
>>
>>  --
>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
>> Grupos do Google.
>> Para publicar uma mensagem neste grupo, envie um e-mail para
>> [email protected].
>> Para anular a inscrição neste grupo, envie um e-mail para
>> [email protected] <riapt%[email protected]>
>> .
>> Para ver mais opções, visite este grupo em
>> http://groups.google.com/group/riapt?hl=pt-PT.
>>
>
>

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para 
[email protected].
Para ver mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT.

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

Responder a