Bom dia, tenho que montar o menubar da minha aplicação de forma
dinâmica: o usuário faz o login, após isso o menu é montado de acordo
com as pemissões de acesso do usuário. Se o usuário não tem acesso a
uma opcao o menu aparece desabilitado. Sei que tenho que passar o
parametro 'enabled' como false;

Estou tentando com ArrayCollection:

1. se eu montar primeiro o arraycollection na inicialização, ele
funciona, mas não consigo alterar o 'enabled' do menu:

[Bindable]
private var menuArrc:ArrayCollection = new ArrayCollection(
        [{label:"Cadastros" enabled:'false', children:[{label:" Clientes "},
{label:" Outros ",children:[{label:" Qqualuqer coisa"}]}]},
        {label:" Vendas ", children:[{label:"Teste "}]},
        {label:"Consultas ", children:[{label:"Teste "}]},
        {label:"Relatórios ", children:[{label:" Teste "}]}
        ]);

<mx:MenuBar id="menu" y="93" left="10" right="10" height="25"
dataProvider="{menuArrc}" itemClick="Menu_Click(event);"></mx:MenuBar>

2. se eu montar o arraycollection após o login, o menu fica [object
Object] e aparece somente o menu principal, seus sub-menus nem
aparecem:

private var menuArrc:ArrayCollection = new ArrayCollection();

private function login():void
{
        ...

        MontaMenu();

        ...
}

private function MontarMenu():void
{
        menuArrc.addItem([{label:"Cadastros", children:[{label:" Clientes "},
{label:" Outros ",children:[{label:" Qqualuqer coisa"}]}]}]);
}

<mx:MenuBar id="menu" y="93" left="10" right="10" height="25"
dataProvider="{menuArrc}" itemClick="Menu_Click(event);"></mx:MenuBar>

3. Eu até usei o xmllist, como na documentação, mas o problema sempre,
como nos outros, é que tenho que alterar os dados do menu após o
login. Eu não consegui alterar o item do menu, usando o xmllist. Por
exemplo, alterar o atributo 'enabled';

alguém tem alguma idéia de como resolver? Obrigado.

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

Responder a