0

我有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 请求之后仍然不可见。

我怎样才能让它最初隐藏,并在填充数据后显示?

4

2 回答 2

2

您可以尝试让 dataTable 根据列表的大小有条件地呈现:

rendered = "#{cargoOffer.transportsForCargo.size() != 0}"
于 2010-05-11T03:52:07.660 回答
1

我认为如果rendered=false没有创建元素,那么 AJAX 请求就找不到它。

于 2011-11-28T14:33:43.127 回答