Podias escutar o evento UPDATE_COMPLETE apenas quando os dados da
dataprovider mudam, removendo quando ocorre.
Evitavas assim fazer a verificação quando foi o utilizador a interagir com a
lista.
private function changeHandler(evt:CollectionEvent):void
{
lista.addEventListener(FlexEvent.UPDATE_COMPLETE, updateHandler);
}
private function updateHandler(evt:FlexEvent):void
{
lista.removeEventListener(FlexEvent.UPDATE_COMPLETE, updateHandler);
lista.layout.verticalScrollPosition
+= lista.layout.getVerticalScrollPositionDelta(NavigationUnit.END);
}


Em 19 de fevereiro de 2010 15:06, João Saleiro
<[email protected]>escreveu:

>  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