簡體   English   中英

primefaces commandButton“更新”不起作用

[英]primefaces commandButton “update” not working

我有這個對話框:

    <p:dialog 
        id="dlgComment"
        widgetVar="dialogComentario"
        modal="true"
        header="#{messages.comentarios}"
        width="600px"
        resizable="false" showEffect="clip" hideEffect="clip">
        <h:form id="formComentario">
            <p:panelGrid columns="2" style="width: 100%">
                <f:facet name="header">
                    <h:outputText value="#{monitorarEventoControlador.eventoSelecionado.titulo}"/>
                </f:facet>
                <h:outputText value="#{messages.inicio}" />  
                <h:outputText value="#{monitorarEventoControlador.eventoSelecionado.inicio}" />  

                <h:outputText value="#{messages.gravidade}" />  
                <h:outputText value="#{monitorarEventoControlador.eventoSelecionado.gravidade}" />  
            </p:panelGrid>
            <p:dataTable id="tableComentario" var="comentario" value="#{monitorarEventoControlador.eventoSelecionado.getComentariosAsList()}" emptyMessage="#{messages.noRecordsFound}">
                <f:facet name="header">
                    #{messages.comentarios}
                </f:facet>
                <p:column headerText="#{messages.dataHora}"> 
                    <h:outputText value="#{comentario.dataHora}">
                        <f:convertDateTime pattern="dd/MM/yyyy HH:mm" timeZone="#{monitorarEventoControlador.buscaTimeZone()}"/>
                    </h:outputText>
                </p:column>  
                <p:column headerText="#{messages.usuario}"> 
                    <h:outputText value="#{comentario.usuario.orgao.sigla} - #{comentario.usuario.apelido}"/>
                </p:column>  
                <p:column headerText="#{messages.texto}"> 
                    <h:outputText value="#{comentario.texto}" />  
                </p:column>  
            </p:dataTable>
            <p:panelGrid columns="2" style="width: 100%">
                <h:inputText value="#{monitorarEventoControlador.comentarioSelecionado.texto}" maxlength="80"/>
                <p:commandButton value="#{messages.comentar}" actionListener="#{monitorarEventoControlador.adicionarComentario()}" icon="ui-icon-check" update="tableComentario" />
            </p:panelGrid>
        </h:form>
    </p:dialog>

和豆:

    public void adicionarComentario() {
        comentarioSelecionado.setDataHora(new Date());
        comentarioSelecionado.setEvento(eventoSelecionado);
        comentarioSelecionado.setUsuario(autenticador.getUsuarioCorrente());
        todosOsComentarios.colocar(comentarioSelecionado);
        notificarComentario(comentarioSelecionado);
        eventoSelecionado.getComentarios().add(comentarioSelecionado);
        todosOsEventos.colocar(eventoSelecionado);
        iniciarComentario(eventoSelecionado);
    }

 private void notificarComentario(Comentario comentario) {
    Notificacao n = new Notificacao();
    n.setDataHora(comentario.getDataHora());
    n.setDescricao(DateUtil.dataHoraFormatada(n.getDataHora()) + " - " + comentario.getUsuario().getOrgao().getSigla() + "(" + comentario.getUsuario().getApelido() + "): " + comentario.getTexto());
    n.setComentario(true);
    n.setInforme(comentario.getEvento().getInforme());
    comentario.getEvento().getInforme().getNotificacoes().add(n);
}

public void iniciarComentario(Evento evento) {
    comentarioSelecionado = new Comentario();
    setEventoSelecionado(evento);
}

commandButton應該更新一個dataTable。 我剛從Prime 3.5升級到5.1,我設法弄清的其他問題中,確實有一個令人討厭。 它正在Prime 3.5上運行。 要更具體地說明這里出了什么問題:通常會觸發該操作,正確插入數據,但不再更新dataTable。 這與我昨天在Prime 3.5中使用的代碼完全相同,但是現在使用Prime 5.1,dataTable不再刷新。
有任何想法嗎 ? 謝謝

使用 id之前


記得

如果您進行對話

  1. 在對話框之前,舊表格標簽應關閉
  2. 然后對話框內容應置於另一種形式。
  3. 使用:dialogid,:dialogFormId

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM