我尝试按下按钮会显示数据表的选定行。我使用标记rendered
来显示/隐藏此按钮,但只有在重新加载页面时才会呈现它。出于这个原因,我希望当我选择行时,重新加载页面并再次执行标记渲染。
函数conv
返回一个布尔值,具体取决于是否应该显示按钮。
知道该怎么做吗?
<p:dataTable id="singleDT" var="inform" value="#{testBean.searchInform}" selectionMode="single" selection="#{testBean.selectedInform}" rowKey={inform.id}">
<f:facet name="header">
Single with Row Click
</f:facet>
<p:column headerText="Id">
<h:outputText value="#{inform.id}" />
</p:column>
<p:column headerText="Year">
<h:outputText value="#{inform.year}" />
</p:column>
<p:column headerText="Brand">
<h:outputText value="#{inform.brand}" />
</p:column>
<p:column headerText="Color">
<h:outputText value="#{inform.color}" />
</p:column>
<f:facet name="footer">
<p:commandButton for="singleDT" process="singleDT" update=":form:informeDetail" icon="ui-icon-search" value="Convert" action="#{testBean.Convert}" rendered="#{testBean.conv}"/>
</f:facet>
</p:dataTable>
答案 0 :(得分:0)
当rendered
为false
时,HTML文档将不包含给定的组件,因此无法刷新它。
您应该将<p:commandButton>
放在另一个JSF组件中,然后重新渲染该封闭组件。