Primefaces 3.1.1 Conflito no botão com ajax no netbeans 7.11

2 respostas
tjunior

Olá Pessoal!

Eu baixei a versão do netbeans 7.1.1 e tentei rodar uma aplicação feita com primefaces que roda normalmente no netbeans 6.9.

O problema é que no clique do botão Pesquisa:
ajax="tabelaPerfis"/>

.
.
.

<p:fieldset legend="Pesquisa" toggleable="true" style="width: 400px;">
                        <h:panelGrid columns="2" >
                            <h:outputText value="Nome:" />
                            <p:inputText id="nome" value="#{perfilControle.perfil.nome}" >
                                <p:focus for="nome"/>
                            </p:inputText>
                           <p:commandButton value="Pesquisar" image="ui-icon-search"
                                              ajax="tabelaPerfis"/>
                        </h:panelGrid>
                    </p:fieldset>
                    <p:separator style="width: 100%; height: 0px; margin-top: 10px;"  />

                   <p:dataTable id="tabelaPerfis" value="#{perfilControle.pesquisaPerfil}"
                                 var="c" paginator="true" rows="5" rendered="#{perfilControle.pesquisa}"
                                 emptyMessage="Nenhum valor encontrado">
                        <f:facet name="header">
                            <h:outputText value="Listando Perfil(s)"/>
                        </f:facet>
                        <p:column>
. . .

Na

public DataModel getPesquisaPerfil() {
        pesquisa = true;
        perfilDAO = new PerfilDAOImp();
        if (perfil.getNome() != null) {
            try {
                model = new ListDataModel(perfilDAO.pesquisaPorNome(perfil.getNome()));
            } catch (Exception ex) {
                Logger.getLogger(PerfilControle.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        limpa();
        return model;
    }

Ao clicar no botão Pesquisar não acontece nada além de piscar a tela. Coloquei breakpoint e não chama o metodo da model.
Na versão 6.9 roda de boa mas na versão 7.1.1
* estou usando o Mojarra 2.0.2 .

Se alguém souber agradeço.

valeu.

2 Respostas

esdras_63

Que eu saiba a propriedade ajax recebe um valor booleano(true ou false). Tente deixar essa propriedade true e setar a propriedade update se referindo à tabela, ou faz com o componente ajax no evento onclick.

tjunior

Olá esdras, obrigado pela ajuda, o componente ajax aceita a variavel do atributo id também, tanto que no netbeans 6.9 funciona sem problemas.
Só para explicar como funciona essa página:
Quando chamo essa pagina ele mostra somente o parte da página que é referente ao campo nome para fazer uma pesquisa, a grid datatable não aparece ela é acionada pelo botão ajax que chama o id=“tabelaPerfis”, como mostra parte do código. Depois do click do botão ele aciona o table que chama o metodo que retorna a model, la tenho um boolean que passa a ser true o rendered="#{perfilControle.pesquisa}".
O problema é que no netbeans 7.1.1 é que não funciona, só queria saber se alguem sabe se é bag do netbeans. Como houve problemas em certos casos nos botões e outros componentes no Mojarra.

Vou tentar também modificar da forma que você falou pois de qualquer forma pode resolver o problema indiferente da versão da IDE.

valeu Obrigado.

Criado 10 de março de 2012
Ultima resposta 11 de mar. de 2012
Respostas 2
Participantes 2