2010-05-08 5 views
0

내 페이지에 dataTable이 있습니다. 처음에는 AJAX 요청에 의해 데이터를 가져온 후에 숨기고 표시하려고합니다. 데이터를 가져와 테이블에 넣는 방법을 알고 있지만 숨겨진 테이블을 표시하는 방법을 모르겠습니다. 코드는 다음과 같습니다.JSF2의 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 요청 후에도 보이지 않습니다.

처음에 숨기고 데이터를 채운 후에 표시하려면 어떻게해야합니까?

답변

2

당신은 데이터 테이블 목록의 크기에 따라 조건부로 렌더링하는 것을 시도 할 수 : rendered=false 다음 요소가 생성되지 않은 경우 AJAX 요청을 찾을 수 있도록

rendered = "#{cargoOffer.transportsForCargo.size() != 0}" 
+0

거의 작동 :) 문제는 처음에 렌더링되지 않을 때 Ajax 응답이이를 업데이트하려고하지만 찾을 수 없다는 것입니다. 해결책은 그것을 다른 것으로 포장하고 다른 것을 업데이트하는 것입니다. 감사! – amorfis

관련 문제