0

複数の行を持つ panelGrid があります。ui:repeat、p:dataTable、および p:dataList がレンダリングされないため、一部の行は c:forEach で生成されます ( ui:repeat JSF 2.0 は反復 p:row primefaces をレンダリングできません)。

私の目的は、反復で生成された行を更新することです (更新後にサイズ + コンテンツが異なります) が、参照できる 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>

これを達成する方法はありますか?たぶん、イテレーションにラップされたある種のダミーコンポーネントですか?

ジョニー

PS: 私はすでに Primefaces フォーラム ( http://forum.primefaces.org/viewtopic.php?f=3&t=22999 ) でこれを尋ねました。答え (jordandenison に感謝) は本当に「専有」であり、誰も (半年の私を含めて) それが何であるかを理解できませんでした。だから多分別の方法があります。

4

1 に答える 1

0

panelGrid を Bean プロパティにバインドします。

<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);

Row、Column、および PanelGrid は、org.primefaces.... パッケージから取得する必要があります。

于 2012-07-03T14:24:16.790 に答える