A fim de colaborar com a comunidade e pela total ausência de um blog meu
para publicar...

Aqui (em anexo) está o projeto do DataGridColumnChooser, está em Flex 4.5.1
(21328) e está em MXML.

Para usar nos seus projetos:

- Copie o componente ColumnChooser, a skin ColumnChooserDataGridSkin e o
itemrenderer IRDataGridColumnChooser para a sua aplicação
- Crie um DataGrid e defina sua skinclass como ColumnChooserDataGridSkin

Prontinho... tentei fazer o mais "reutilizável" possível...

Claro que tem que dar uma melhoradinha na skin, quem sabe até transformar em
AS3, mas a funcionalidade está Ok.

Se alguém conseguir que o efeito de expandir o menu funcione da forma
adequada (rolando para baixo), posta o código pra nós...

Abraço a todos

2011/9/22 Bruno Tourinho <[email protected]>

> E aí Rafael, o componente é show de bola realmente, mas $299 tá fora de
> cogitação e do orçamento, consegui fazer algo bem parecido com o do Airgile
> mas estou tendo problemas exatamente nos efeitos do PopUpAnchor... com
> states...
>
> O efeito de recolher o menu funciona mas o de aparecer não...
>
> Amanhã vou enxugar o código e postá-lo aqui pra vocês darem uma olhada...
>
> Mas qualquer exemplo que você tiver é de grande valia...
>
> Abraço
>
>
> 2011/9/21 RafaelViana <[email protected]>
>
>> Eu tenho isso na minha aplicação =)
>>
>> Dê uma olhada nesse componente: http://www.flexicious.com/Home/DemoFlex4#
>>
>> Mas, se você quiser fazer isso na mão posso dar uma olhada em alguns
>> códigos que tenho usando PopUpAnchor. Fiz uma vez um "Spark Menu Bar"
>> usando PopUpAnchor. Acho que pode te ajudar.
>>
>> On Sep 21, 4:52 pm, Fredy Gadotti <[email protected]> wrote:
>> > Bump!
>> >
>> > Também tenho essa curiosidade :)
>> >
>> > 2011/9/20 Bruno Tourinho <[email protected]>
>> >
>> > > Bom dia Devs,
>> >
>> > > Estava olhando o sistema AIRGILE (www.airgile.com) não sei se vocês
>> > > conhecem, eu acho que é um dos melhores RIAs que eu já vi.
>> >
>> > > Eles conseguiram fazer uma coisa que estou tentando há tempos, colocar
>> um
>> > > seletor de colunas no *<s:DataGrid>* a parte da lógica eu já consegui
>> de
>> > > alguma forma realizar. O que está pegando é a parte da Skin.
>> *(Skin.jpg)*
>> >
>> > > Como eu fiz:
>> >
>> > > Na view:
>> >
>> > > <s:DataGrid id="grdUsuario" dataProvider="{pm.usuarios}"
>> > > requestedRowCount="{pm.usuarios.length}" *
>> > > skinClass="br.com.usuarioDatagridSkin"*>
>> >
>> > > Na skin usuarioDataGridSkin:
>> >
>> > > <s:HGroup gap="-1">
>> > >             <s:GridColumnHeaderGroup id="columnHeaderGroup"
>> paddingLeft="1"
>> > > paddingTop="1" paddingRight="1" minHeight="21"
>> > > columnSeparator="{headerColumnSeparator}"
>> headerRenderer="{headerRenderer}"
>> > > width="100%"/>
>> > >            * <components1:ColumnChooser dataProvider="{(hostComponent
>> as
>> > > DataGrid).columns}" width="16" height="100%"/>*
>> > > </s:HGroup>
>> >
>> > > No componente ColumnChooser:
>> >
>> > > <s:VGroup top="0" right="0" horizontalAlign="right" gap="0">
>> > >         <s:ToggleButton id="tb" right="0" top="0" width="16"
>> height="23"/>
>> > >         <s:PopUpAnchor popUpWidthMatchesAnchorWidth="false"
>> > > popUpPosition="below" right="0" top="22" displayPopUp="{tb.selected}"
>> > > width="100%" height="100%">
>> > >             <s:List dataProvider="{dataProvider}"
>> > > itemRenderer="IRDataGridColumnChoser"
>> > >                     right="0" top="22">
>> > >                 <s:layout>
>> > >                     <s:VerticalLayout
>> > > requestedRowCount="{dataProvider.lenght}" paddingTop="5"
>> paddingLeft="5"
>> > > paddingRight="5" paddingBottom="5"/>
>> > >                 </s:layout>
>> > >             </s:List>
>> > >         </s:PopUpAnchor>
>> > > </s:VGroup>
>> >
>> > > Os problemas: o PopupAnchor não fica no lugar certo, não consigo
>> alhinhá-lo
>> > > para abrir à direita e abaixo do botãozinho e outra quando eu
>> redimensiono a
>> > > tela, se o popup estiver aberto ele se desloca na tela.
>> *(minhaSkin.jpg)*
>> >
>> > > Algum dos nossos Gurus do Flex, já fizeram algo parecido?
>> >
>> > > Grande abraço a todos...
>> >
>> > > --
>> > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> > > Para enviar uma mensagem, envie um e-mail para
>> [email protected]
>> > > Para sair da lista, envie um email em branco para
>> > > [email protected]
>> > > Mais opções estão disponíveis emhttp://
>> groups.google.com/group/flexdev
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Attachment: ColumnChooser.fxp
Description: Binary data

Responder a