我在数据网格中切换某些面板时遇到问题:
<h:form id="formxy">
<p:panel id="panelxy" header="xy">
<p:focus />
<p:dataGrid var="page" value="#{xyViewBean.xyPages}" columns="1" id="grid" paginator="false">
<p:column>
<p:panel header="#{page.name}" style="text-align:left" toggleable="true" closable="false" toggleSpeed="500" collapsed="#{page.verifiedBy!=null}" >
<h:panelGrid>
<h:column>
<p:inputText value="${page.url}" required="true" label="text" size="60" disabled="false" onclick="poll.stop()" onfocus="poll.stop()" onblur="poll.start()"/>
<p:commandButton value="xy" update="grid" actionListener="#{xyViewBean.handleClose}">
<f:attribute name="xyPage" value="${page}" />
</p:commandButton>
</h:column>
</h:panelGrid>
</p:panel>
</p:column>
</p:dataGrid>
<p:poll interval="3" widgetVar="poll" update="grid" actionListener="#{xyViewBean.finishedListener}"/>
正如您所看到的那样,折叠或不折叠的状态是动态的。单击xy按钮执行handleClose actionListener,它设置“verifiedBy”字段。因此,此面板应折叠。 comandbutton也更新完整的datagrid没有任何反应。重新加载页面会显示面板已折叠。所以我认为它会起作用,但三秒后,primefaces轮询再次更新数据网格,面板不再崩溃。因此,轮询更新的面板会忽略折叠属性?!有什么想法吗?
primefaces:2.2.1
答案 0 :(得分:1)
如果不起作用,您可以尝试额外的: 在第一个id之前。这似乎有效。
<p:commandButton value="xy" update=":formxy:grid" />
答案 1 :(得分:0)
尝试;
<p:commandButton value="xy" update="formxy:grid" />