Ajax não funciona! Primefaces + jsf

3 respostas
F

Bom dia!

to tentando terminar meu tcc pra segunda feira e meu projeto não está ativando o ajax…

tipow no componente autoComplete ele não carrega as opções, to tentando a uma semana atualizar uma datatable depois de clicar num botão e não funciona…

alguém tem idéia do que pode ser???

3 Respostas

H

Não. Idéia alguma.

Aparece alguma msg de erro?

F

Se você está usando primefaces, o p:commandButton tem a propriedade ‘update’. Especifique nessa propriedade o id do que você quer atualizar com AJAX.

F

Pior que não…

simplesmente não acontece nada…

<h:form id="listarConsultas">


            <h:outputLabel value="Selecione a data no calendário para listar os agendamentos."/>
            <p:calendar locale="pt_BR" value="#{beanConsulta.diaConsulta}" pattern="dd/MM/yyyy" showButtonPanel="false" navigator="true"/>
            <p:commandButton value="Pesquisar" update="listarConsultas" action="#{beanConsulta.listarPorDia()}"/>


            <p:dataTable id="listconsultas" var="p" value="#{beanConsulta.listarAtuais()}" paginator="true" rows="10" widgetVar="listcons"
                         paginatorTemplate="  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                         rowsPerPageTemplate="5,10,15,30">
                <f:facet name="header">
                    Lista de Consultas
                </f:facet>

                <p:column headerText="PACIENTE" style="width: 300px">
                    <h:outputText value="#{p.paciente.nome}" />
                </p:column>

                <p:column headerText="DATA" style="width: 100px">
                    <h:outputText value="#{p.dia}">
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                    </h:outputText>
                </p:column>

                <p:column headerText="DE" style="width: 75px">
                    <h:outputText value="#{p.horaInicial}">
                        <f:convertDateTime pattern="HH:mm"/>
                    </h:outputText>
                </p:column>

                <p:column headerText="ATÉ" style="width: 75px">
                    <h:outputText value="#{p.horaFinal}">
                        <f:convertDateTime pattern="HH:mm"/>
                    </h:outputText>
                </p:column>

                <p:column headerText="BOX" style="width: 30px">
                    <h:outputText value="#{p.box}" />
                </p:column>

                <p:column headerText="STATUS" style="width: 100px">
                    <h:outputText value="#{p.status}" />
                </p:column>

                <p:column headerText="OPÇÕES">

                    <p:commandLink update=":listarConsultas:display" oncomplete="confirmInConsulta.show()" title="Iniciar Consulta" rendered="#{p.status eq 'Em Aberto'}">
                        <h:graphicImage library="imagens" name="stethoscope.png" id="btConsultar"/>
                        <f:setPropertyActionListener value="#{p}" target="#{beanConsulta.consulta}" />
                    </p:commandLink>
                    <p:commandLink update=":listarConsultas:display" oncomplete="confirmFimConsulta.show()" title="Finalizar Consulta" rendered="#{p.status eq 'Em Tratamento'}">
                        <h:graphicImage library="imagens" name="stethoscope.png" id="btFinConsulta"/>
                        <f:setPropertyActionListener value="#{p}" target="#{beanConsulta.consulta}" />
                    </p:commandLink>
                    <p:commandLink update=":listarConsultas:display" oncomplete="msg.show()" title="Detalhes">
                        <h:graphicImage library="imagens" name="list2.png" id="btDetalhes"/>
                        <f:setPropertyActionListener value="#{p}" target="#{beanConsulta.consulta}" />
                        <f:setPropertyActionListener value="#{false}" target="#{beanConsulta.modoEditar}" />
                    </p:commandLink>
                    <p:commandLink update=":listarConsultas:display" oncomplete="msg.show()" title="Remarcar">
                        <h:graphicImage library="imagens" name="update16.png" id="btEditar"/>
                        <f:setPropertyActionListener value="#{p}" target="#{beanConsulta.consulta}" />
                        <f:setPropertyActionListener value="#{true}" target="#{beanConsulta.modoEditar}" />
                    </p:commandLink>
                    <p:commandLink update=":listarConsultas:display" oncomplete="confirmaDeletar.show()" title="Deletar">
                        <h:graphicImage library="imagens" name="delete16.png" id="btDeletar"/>
                        <f:setPropertyActionListener value="#{p}" target="#{beanConsulta.consulta}" />
                    </p:commandLink>
                </p:column>

            </p:dataTable>
            
            <p:confirmDialog message="Você tem certeza que deseja finalizar esta consulta?" width="300" header="Confirmação" severity="alert" widgetVar="confirmFimConsulta">

                <p:commandButton value="Sim" update="consultas" actionListener="#{beanConsulta.finalizarConsulta()}" onclick="confirmFimConsulta.hide()"/>

            </p:confirmDialog>        



            <p:confirmDialog message="Deseja imprimir a ficha de avaliação?" width="300" header="Confirmação" severity="alert" widgetVar="confirmInConsulta">

                <p:commandButton value="Sim" update="consultas" actionListener="#{beanConsulta.iniciarConsulta()}" onclick="confirmInConsulta.close()"/>
                <p:commandButton value="Não" update="consultas" actionListener="#{beanConsulta.iniciarConsulta()}" onclick="confirmInConsulta.close()"/>

            </p:confirmDialog>



            <p:dialog header="Detalhes da Consulta" widgetVar="msg" resizable="false" id="dlg" width="500" modal="true">

                <h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">

                    <f:facet name="header">
                        Detalhe da Consulta
                    </f:facet>

                    <h:outputText value="Paciente:" />
                    <h:panelGroup>
                        <h:outputText value="#{beanConsulta.consulta.paciente.nome}" rendered="#{!beanConsulta.modoEditar}"/>
                        <p:inputText value="#{beanConsulta.consulta.paciente.nome}" rendered="#{beanConsulta.modoEditar}" required="true" label="Paciente!"/>
                    </h:panelGroup>

                    <h:outputText value="Telefone:" rendered="#{!beanConsulta.modoEditar}"/>
                    <h:panelGroup>
                        <h:outputText value="#{beanConsulta.consulta.paciente.fone}" rendered="#{!beanConsulta.modoEditar}"/>
                    </h:panelGroup>

                    <h:outputText value="Celular: " rendered="#{!beanConsulta.modoEditar}"/>
                    <h:panelGroup>
                        <h:outputText value="#{beanConsulta.consulta.paciente.celfone}" rendered="#{!beanConsulta.modoEditar}"/>
                    </h:panelGroup>

                    <h:outputText value="Data: " />
                    <h:panelGroup>
                        <h:outputText value="#{beanConsulta.consulta.dia}" rendered="#{!beanConsulta.modoEditar}">
                            <f:convertDateTime pattern="dd/MM/yyyy"/>
                        </h:outputText>
                        <p:calendar navigator="true" id="datanasc" value="#{beanConsulta.consulta.dia}" rendered="#{beanConsulta.modoEditar}"
                                    locale="br" effect="explode"  pattern="dd/MM/yyyy" mindate="today"
                                    required="true" requiredMessage="Preencha o campo Dia da Consulta!"/>
                    </h:panelGroup>

                    <h:outputText value="Horário: " />
                    <h:panelGroup>

                        <h:outputText value="#{beanConsulta.consulta.horaInicial}" rendered="#{!beanConsulta.modoEditar}">
                            <f:convertDateTime pattern="HH:mm"/>
                        </h:outputText>
                        <p:calendar timeOnly="true" locale="br" pattern="HH:mm" minHour="8" maxHour="18" value="#{beanConsulta.consulta.horaInicial}"
                                    rendered="#{beanConsulta.modoEditar}" required="true" requiredMessage="Preencha o campo Hora Inicial!"/>
                        <h:outputText value=" - " rendered="#{!beanConsulta.modoEditar}"/>
                        <h:outputText value="#{beanConsulta.consulta.horaFinal}" rendered="#{!beanConsulta.modoEditar}">
                            <f:convertDateTime pattern="HH:mm"/>
                        </h:outputText>
                        <p:calendar timeOnly="true" locale="br" pattern="HH:mm" minHour="8" maxHour="18" value="#{beanConsulta.consulta.horaFinal}"
                                    rendered="#{beanConsulta.modoEditar}" required="true" requiredMessage="Preencha o campo Hora Final!"/>
                    </h:panelGroup>

                    <h:outputText value="Box: " />
                    <h:panelGroup>
                        <h:outputText value="#{beanConsulta.consulta.box}"  rendered="#{!beanConsulta.modoEditar}"/>
                        <p:inputText id="box" value="#{beanConsulta.consulta.box}" rendered="#{beanConsulta.modoEditar}"
                                     required="true" requiredMessage="Preencha o campo Box!"/>
                    </h:panelGroup>

                    <h:outputText value="Obs.: " />
                    <h:panelGroup>
                        <h:outputText value="#{beanConsulta.consulta.obs}" rendered="#{!beanConsulta.modoEditar}"/>
                        <p:inputTextarea id="obs" value="#{beanConsulta.consulta.obs}" rendered="#{beanConsulta.modoEditar}"/>
                    </h:panelGroup>

                    <h:outputText value="Status: " />
                    <h:panelGroup>
                        <h:outputText value="#{beanConsulta.consulta.status}" rendered="#{!beanConsulta.modoEditar}"/>
                        <p:inputText id="status" value="#{beanConsulta.consulta.status}" rendered="#{beanConsulta.modoEditar}"
                                     required="true" requiredMessage="Preencha o campo Status!"/>
                    </h:panelGroup>

                    <f:facet name="footer">
                        <h:panelGroup rendered="#{beanConsulta.modoEditar}" layout="block">
                            <p:commandButton value="Salvar" update="consultas" actionListener="#{beanConsulta.gravar()}" onclick="msg.hide()"/>
                            <p:commandButton value="Cancelar" onclick="msg.hide()" type="button" image="../resources/imagens/botaovoltar.png"/>

                        </h:panelGroup>
                    </f:facet>
                </h:panelGrid>

            </p:dialog>

            <p:confirmDialog message="Tem certeza que deseja excluir esta consulta?" width="300" header="Confirmação" severity="alert" widgetVar="confirmaDeletar">

                <p:commandButton value="Sim" update="listaConsultas" actionListener="#{beanConsulta.excluir()}" onclick="confirmaDeleta.close()"/>
                <p:commandButton value="Não" onclick="confirmaDeleta.close()" type="button" />

            </p:confirmDialog>
</h:form>

o mais engraçado q os botões de deletar e atualizar conseguem reenderizar a datatable…

Criado 19 de novembro de 2011
Ultima resposta 19 de nov. de 2011
Respostas 3
Participantes 3