刷新数据表不起作用

时间:2017-03-24 08:43:02

标签: jsf primefaces

在使用行执行某些操作后,我遇到了数据表的问题。

我有一个调用方法的CommandButton,在执行不同的过程后,调用Dialog来显示结果。

之后,我使用事件“handClose”来刷新datatable的datalist信息,最后我刷新了包含数据表的面板。

但问题是de行无法正确刷新。    

这里是Datatable组件的代码

    <p:panel id="panelResultados">                                                      
    <p:dataTable id="tablaAvanzadas"  sortMode="multiple" var="solicitud" value="#{pc_ListadoSolicitud.listaSolicitudes}" widgetVar="tablaAvanzadasWidgetVar"
                            selection="#{pc_ListadoSolicitud.solicitudesSeleccionadas}" rowKey="#{solicitud.idSolicitud}" style="margin-bottom:0"
                            paginatorTemplate="{JumpToPageDropdown} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"                                 
                            rows="#{pc_ListadoSolicitud.configurationTabla.paginacion.pagesize}" draggableColumns="true" resizableColumns="true"                
                            emptyMessage="#{ptf['comun.mensaje.sinResultados']}" paginator="true" reflow="true" 
                            paginatorPosition="bottom" rowsPerPageTemplate="5,10,15" first="#{pc_ListadoSolicitud.configurationTabla.paginacion.first}">

    

这是启动所有循环的命令:

  <p:commandButton id="cmdButtonFirmar" rendered="#{pc_ListadoSolicitud.filtroTabla=='P'}" value="#{ptf['btn.firmar']}" action="#{pc_ListadoSolicitud.firmarSolicitudes}" />

以下是handleClose的ajax代码:

   <p:ajax event="close" listener="#{pc_ListadoSolicitud.handleClose}" update="form1:panelEstado form1:panelResultados"/>

事件代码:

public void handleClose(CloseEvent event) {     
    actualizarFiltroTabla(null);        
}

方法“actualizarFiltroTabla”的结尾我更新了面板:

RequestContext.getCurrentInstance().update("form1:panelResultados");

有什么问题?

1 个答案:

答案 0 :(得分:0)

我解决了重定向问题。 这里是代码

public void handleClose(CloseEvent event) {     
    FacesContext facesContext = FacesContext.getCurrentInstance();
    facesContext.getApplication().getNavigationHandler().handleNavigation(facesContext, null, "listadoSolicitud");
    return;
}