1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

TabView propriedade disable

Pessoal, tenho um método que verifica algumas condições, dependo do resultado ele seta false ou true para a propriedade disable do TabView. Funciona normalmente a a não ser pelo fato que quando chamo algum método da tab que eu ativo ou desativo ele executa 2 vezes o método. Segue o código ManagedBean

public boolean ativarTab(){
     tabCadastro = new Tab();
     if (usuarioBean.getUsuarioLogado().getColaboradorId().getCargaHoraria() == 0 ||
     usuarioBean.getUsuarioLogado().getColaboradorId().getAnoAposentadoria() == 0 ||
     usuarioBean.getUsuarioLogado().getColaboradorId().getUgId() == null || 
     usuarioBean.getUsuarioLogado().getColaboradorId().getDiretoriaId() == null){

            dlg = new ConfirmDialog();
        dlg.setVisible(true);
        tabCadastro.setDisabled(true);
        return false;

    }else{
        tabCadastro.setDisabled(false);
        return true;
    }
}

XHTML

<p:tab id="tabCadastro" title="CADASTRAR ATIVIDADES" binding="#{atividadeColaboradorBean.tabCadastro}">

Postei somente essa parte do código, pois se removo o binding do tab no xhtml, funciona os métodos sem problema, só que dai não desabilita a tab quando preciso. Tem alguma maneira melhor de fazer isso?

  • Pessoal consegui resolver, em vez de utilizar o binding, criei uma variável que retorna true ou false conforme metódo ativarTab e coloquei direto na propriedade disable da tab ficando assim:

    é isso funcionou o disable e tb não esta executando 2 vezes a atualização.

    Marcelo Carvalho Pinto   03 de ago de 2016
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags xhtml ou faça a sua própria pergunta.