【发布时间】:2015-07-22 01:47:18
【问题描述】:
我有一份文件清单,我需要立即更新所有文件。 我做了这样的事情:
<ui:repeat id="r_list" value="#{tareaController.controlador.documentosIndexar}" var="documentos" >
其中documentosIndexar 是文档列表。它可以很好地显示所有文档及其属性。
我有两个panelGrids,一个是文档的查看者,另一个是它的信息。
在信息的底部是文档列表。
我需要填写文档的信息,然后选择另一个而不丢失前一个。
我正在尝试更新整个ui:repeat,它会呈现下一个文档及其信息,但前一个文档的信息会丢失。
我也尝试过:
<ui:repeat id="r_list">
<p:panelGrid id="pg_document" rendered="#{tareaController.controlador.documentoSeleccionado.id eq documentos.id}">
<---- Document components here ---->
<p:ajax event="rowSelect" update=":f_tarea:r_list:pg_document" listener="#{tareaController.controlador.reemplazarLista(tareaController.documentoSeleccionado)}"/>
</p:panelGrid>
</ui:repeat>
我的所有组件,嗯,我的页面都在一个名为f_tarea 的表单中,该表单来自其模板。
当我执行上述操作时,我从列表中更新了panelGrid,但只是那个,并且渲染条件中的变量发生了变化,所以所有panelGrid 都消失了。
基本上,我想要做的只是更新 ui:repeat 内所有 panelGrids 上的渲染条件,因此一个隐藏,另一个显示,而不会丢失之前的信息。
【问题讨论】:
标签: ajax jsf primefaces facelets