JS
On 19-02-2010 15:23, Nuno Fernandes wrote:
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] <mailto:[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] <mailto:[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:-- Recebeu esta mensagem porque está inscrito no grupo "MailingJoã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] <mailto:[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 SaleiroChief Technology Officer Tlm 1: +351 916 077 097 Skype: joao.saleiro Tlm 2: +351 968 203 370 Email/MSN: [email protected] <mailto:[email protected]> www.webfuel.pt <http://www.webfuel.pt>-- Recebeu esta mensagem porque está inscrito no grupo"Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org <http://www.riapt.org>" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected] <mailto:[email protected]>. Para anular a inscrição neste grupo, envie um e-mail para [email protected] <mailto: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 "MailingList da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org <http://www.riapt.org>" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected] <mailto:[email protected]>. Para anular a inscrição neste grupo, envie um e-mail para [email protected] <mailto:[email protected]>. Para ver mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT.List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org <http://www.riapt.org>" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected] <mailto:[email protected]>. Para anular a inscrição neste grupo, envie um e-mail para [email protected] <mailto: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]. 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>>
