2012-06-28 2 views
0

나는 여러 행을 가진 panelGrid를 가지고있다. 일부 행은 ui : repeat, p : dataTable 및 p : dataList가 렌더링되지 않으므로 c : forEach를 사용하여 생성됩니다 (ui:repeat JSF 2.0 cannot render iterate p:row primefaces).여러 개의 p : 행을 더미 구성 요소로 묶으시겠습니까?

내 목표는 반복에서 생성 된 행을 업데이트하는 것입니다 (업데이트 후 크기와 내용이 다를 수 있음).하지만 참조 할 수있는 ID가있는 구성 요소가 없습니다. 그리고 아닙니다. @form을 사용할 수 없습니다.

<p:commandButton value="Update" action="#{someBean.someAction}" process="someThing" update=" ??? "> 

<p:panelGrid> 
    <p:row> 
    ... 
    </p:row> 
    <c:forEach var="projectDto" items="#{someBean.someDtos}" varStatus="i"> 
    <p:row> 
    ... 
    </p:row> 
    </c:forEach> 
</p:panelGrid> 

이 방법이 있습니까? 어쩌면 어떤 종류의 더미 구성 요소가 반복을 둘러 쌉니까?

조니

P.S는 : 난 이미 Primefaces 포럼 (http://forum.primefaces.org/viewtopic.php?f=3&t=22999)에이 물었다. 대답 (thanks jordandenison)은 정말로 "독점권"이었고 아무도 (반년 만에 나를 포함해서) 그것이 무엇에 관한 것이 었는지 이해할 수 없었습니다. 그래서 다른 방법이있을 수 있습니다.

답변

0

bean 속성에 panelGrid를 바인드하십시오.

<p:panelGrid binding="#{someBean.panelGrid}"/> 

그런 다음 Java 코드에 행을 추가하십시오.

Row row = new Row(); 

HtmlOutputText text = new HtmlOutputText(); 
text.setValue("text"); 

column = new Column(); 
column.getChildren().add(text); 

row.getChildren().add(column); 

panelGrid.getChildren().add(row); 

행, 열 및 PanelGrid는 org.primefaces .... 패키지이어야합니다.

+0

한편, Bean이 RequestScoped보다 크면 모든 종류의 문제가 발생하기 때문에 이렇게하지 마십시오. [http://myfaces.apache.org/orchestra/myfaces-orchestra-core/component-bindings.html] – weaselflink

관련 문제