我的页面中有dataTable
。最初我希望它被隐藏,并在通过AJAX请求获取数据后显示。我知道如何获取数据并放入表中,但我不知道如果它被隐藏,如何显示表。这是代码:
<h:commandButton value="aa">
<f:ajax execute="from to validTo" render="transportOffers"/>
</h:commandButton>
<p:dataTable id="transportOffers" value="${cargoOffer.transportsForCargo}" var="transport">
<p:column>
<h:outputText value="${transport.company}"/>
</p:column>
</p:dataTable>
表最初是可见的,即使它是空的。如果我设置rendered="false"
它是不可见的,并且在AJAX请求之后也保持不可见。
如何最初隐藏它,并在填充数据后显示?
答案 0 :(得分:2)
您可以尝试根据列表的大小有条件地呈现dataTable:
rendered = "#{cargoOffer.transportsForCargo.size() != 0}"
答案 1 :(得分:1)
我认为如果rendered=false
那么元素没有被创建,那么AJAX请求找不到它。