我有一个代码:
<h:panelGroup id="customListCal">
..
<p:commandButton value="Create List" update="pickList" actionListener="#{customCalender.openList}"
style="background:#25A6E1;color:#fff;font-family:'Helvetica Neue',sans-serif;font-size:10px;border-radius:4px;"/>
</h:panelGroup>
<h:panelGroup id="pickList">
..
<p:commandButton value="Cancel" update="pickList" actionListener="#{customCalender.closeList}" style="background:#25A6E1;color:red;font-family:'Helvetica Neue',sans-serif;font-size:10px;border-radius:4px;" />
<p:commandButton value="Save" update="custDataTablePanel pickList" actionListener="#{customCalender.saveTargetList}" style="background:#25A6E1;color:red;font-family:'Helvetica Neue',sans-serif;font-size:10px;border-radius:4px;"/>
</h:panelGroup>
<h:panelGroup id="custDataTablePanel">
<p:panel rendered="#{customCalender.dataTableVisible}">
<p:dataTable id="custDataTable" value="#{customCalender.dataTableList}" var="listName">
<p:column id="editField" headerText="Edit">
<p:commandLink title="Edit" update="pickList" actionListener="#{customCalender.openList}" rendered="#{not empty customCalender.dataTableList}">
<h:graphicImage url="resources/images/edit.JPG"/>
</p:commandLink>
</p:column>
</p:dataTable>
</p:panel>
</h:panelGroup>
当我尝试从<h:panelGroup id="pickList">
更新<h:panelGroup id="custDataTablePanel>
时,它无效。发生的事情就是这个名为Edit
的coloumn没有在所述dataTable中呈现。
如何从<h:panelGroup id="pickList">
更新<h:panelGroup id="custDataTable">
?
但是从<h:panelGroup id="pickList">
&gt;
<h:panelGroup id="customListCal"
时没有错误
<h:panelGroup id="customListCal">
..
<p:commandButton value="Create List" update="pickList" actionListener="#{customCalender.openList}"
style="background:#25A6E1;color:#fff;font-family:'Helvetica Neue',sans-serif;font-size:10px;border-radius:4px;"/>
</h:panelGroup>
这是如何引起的?如何解决?
答案 0 :(得分:0)
这是版本3.4之前的Primefaces中的已知问题。但是因为你有3.4,所以我唯一的建议是使用核心JSF按钮而不是primefaces按钮。
<h:commandButton>
<f:ajax render="element"> <!--or render=":form1:element"-->
</h:commandButton>
而不是
<p:commandButton update ="element">