Repeater e scrollbar

8 views
Skip to first unread message

Rafael D. Araujo

unread,
Mar 10, 2008, 1:34:47 PM3/10/08
to fle...@googlegroups.com
Olá pessoal, tou com um problema aqui.
Tou usando Repeater pra criar um grupo de componentes dependendo de quantos elementos tenha o dataProvider.
O Repeater tá dentro de um Box, para que eu possa controlar melhor a organização dos elementos, um abaixo do outro.
Assim:

<mx:Box>
    <mx:Repeater id="rep" dataProvider="{perguntas}">
    {componentes..}

    </mx:Repeater>
</mx:Box>

O dataProvider tem elementos suficientes para que apareça uma barra de rolagem na lateral do Panel.
O problema que tenho é que o sucessivo pressionamento de Tab, apesar de a ordem estar correta, não faz a barra de rolagem descer automaticamente para mostrar o componente com o foco do Tab.
Alguém já teve alguma experiência com isso ou sabe indicar onde posso saber mais a respeito?

--
Atenciosamente,
Rafael D. Araujo

Daniel Lopes

unread,
Mar 10, 2008, 2:10:17 PM3/10/08
to flexdev
Ola Rafael, acredito que com o tab vc não vai conseguir isso, e não é
um problema do repeater ou do box mas acho que esse comportamente
ocorrer (não testei). Se vc achar que isso é crucial vc pode alterar o
verticalScrollPosition quando o seu componente receber o focus ... Ta
certo que nào acho isso uma solução muito bonita mas é única forma que
penso para fazer isso, se alguem tiver um solução melhor.... :D
Abraço.

Daniel Lopes

unread,
Mar 10, 2008, 2:12:21 PM3/10/08
to flexdev
Nossa, escrevi o post anterior igual a um primata, hehehe.... Seria
isso aqui:
"Ola Rafael, acredito que com o tab vc não vai conseguir isso, e não é
um problema do repeater ou do box mas acho que esse é um comportamento
do container(não testei). Se vc achar que isso é crucial vc pode
alterar o
verticalScrollPosition quando o seu componente receber o focus ... Ta
certo que não acho isso uma solução muito bonita mas é única forma que
penso para fazer isso, se alguem tiver um solução melhor.... :D
Abraço."

Beck Novaes

unread,
Mar 10, 2008, 3:22:53 PM3/10/08
to flexdev
Hm... que interessante!

.... meia hora depois.

Acho que isso aqui pode te ajudar:

http://groups.google.com/group/flexdev/web/TabScroll.mxml
http://groups.google.com/group/flexdev/web/Util.as

1. A aplicação exemplo usa a classe Util.as, portanto você precisa
baixar as duas.
2. Não repara no código não... deve resolver o seu problema, mas eu
devo refatorar e componentizar assim que tiver tempo

[]'s
Beck Novaes

Daniel Lopes

unread,
Mar 10, 2008, 4:02:27 PM3/10/08
to flexdev
Beck, vc não acha que seria mais legal ao invés de -5 e mais +5 fazer
o calculo com o y ou talvez com height do componente que recebeu o
foco?

On 10 mar, 16:22, Beck Novaes <beck.nov...@gmail.com> wrote:
> Hm... que interessante!
>
> .... meia hora depois.
>
> Acho que isso aqui pode te ajudar:
>
> http://groups.google.com/group/flexdev/web/TabScroll.mxmlhttp://groups.google.com/group/flexdev/web/Util.as

Beck Novaes

unread,
Mar 10, 2008, 4:24:01 PM3/10/08
to flexdev
Não sei se usar simplesmente o "height" ou o "y" vai resolver pois
depende também da posição corrente do Scroll. Ou seja, é preciso mais
uns testes para encontrar a "fórmula" correta. Como eu disse, pretendo
refatorar e componentizar. Apesar de ter muita coisa Hard Coded a
minha única premissa em termos de "Arquitetura" foi não estender o
Box. Assim, posso fazer um componente externo que poderá funcionar com
qualquer Container.

[]'s
Beck Novaes

On Mar 10, 4:02 pm, Daniel Lopes <danielvlo...@gmail.com> wrote:
> Beck, vc não acha que seria mais legal ao invés de -5 e mais +5 fazer
> o calculo com o y ou talvez com height do componente que recebeu o
> foco?
>
> On 10 mar, 16:22, Beck Novaes <beck.nov...@gmail.com> wrote:
>
> > Hm... que interessante!
>
> > .... meia hora depois.
>
> > Acho que isso aqui pode te ajudar:
>
> >http://groups.google.com/group/flexdev/web/TabScroll.mxmlhttp://group...

Daniel Lopes

unread,
Mar 10, 2008, 4:31:07 PM3/10/08
to flexdev
É eu vi que vc nao ta extendendo de nenhum componente e está usando
UIComponent. Se eu tiver um tempo posso contribuir com isso? Acho uma
funcionalidade legal.

Rafael D. Araujo

unread,
Mar 10, 2008, 5:34:53 PM3/10/08
to fle...@googlegroups.com
Obrigado pela ajuda, Beck e Daniel.
Se tiverem novidades, postem aqui :)

Gabriel Feitosa

unread,
Mar 11, 2008, 2:18:05 PM3/11/08
to fle...@googlegroups.com
Ola Beck,

      cara estou usando essa tua ideia ai, muito boa por sinal =) . Não teria como ela ficar uma lista circular? Preciso que ela vá para o primeiro componente quando chegar ao último e o tab for pressionado.

Valeu

2008/3/10 Rafael D. Araujo <rdar...@gmail.com>:



--
[]`z
Gabriel Feitosa

Beck Novaes

unread,
Apr 4, 2008, 11:23:45 AM4/4/08
to flexdev
Como prometido aqui está o componente refatorado:
http://groups.google.com/group/flexdev/web/TabAutoScroll.zip

Apenas para resumir, ele permite que o scroll seja feito
automaticamente ao pressionar tab quando você tem um um campo que não
pode ser visto na tela (devido ao próprio scroll). Como usar:

<util:TabAutoScroll container="{myContainer}"/>

O componente faz o resto para você. Simples, porém útil, creio.

Ainda pretendo disponibilizar o componente no blog da DClick, mas a
FlexDev tem acesso em primeira mão. :-)


[]'s
Beck Novaes


On Mar 10, 4:24 pm, Beck Novaes <beck.nov...@gmail.com> wrote:
> Não sei se usar simplesmente o "height" ou o "y" vai resolver pois
> depende também da posição corrente doScroll. Ou seja, é preciso mais

Rafael D. Araujo

unread,
Apr 4, 2008, 11:34:15 AM4/4/08
to fle...@googlegroups.com
Muito obrigado, Beck.

Abraço.


Reply all
Reply to author
Forward
0 new messages