ドロップダウンと入力テキストを含むデータテーブルがあります。データ テーブルに新しい行を追加するボタンがあります。
追加時に、ドロップダウンの送信された値と前の行の入力テキストを出力テキストとして表示し、ドロップダウンと入力テキストを新しい行にのみ表示したいと考えています。
rendered
ドロップダウン、入力テキスト、および出力テキストで属性を使用しました。ただし、新しい行を追加すると、ドロップダウンと出力テキストの両方が前の行に表示されます。
<h:dataTable id="Table" value="#{bean.orderList}" var="attr" binding="#{bean.orderTable}">
<h:column>
<f:facet name="header">
<h:outputText value="Item"/>
</f:facet>
<h:outputText value="#{attr.orderItem.ItemId}" rendered="#{attr.orderItem.ItemId != null}" />
<h:selectOneMenu value="#{attr.orderItem.ItemId}" rendered="#{attr.orderItem.ItemId == null}">
<f:selectItems value="#{bean.itemList}" var="attrList" itemValue="#{attrList.itemId}" itemLabel="#{attrList.itemName}" />
</h:selectOneMenu>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Price" />
</f:facet>
<h:outputText value="#{attr.price}" rendered="#{attr.orderItem.itemId != null}" />
<h:inputText value="#{attr.price}" rendered="#{attr.orderItem.itemId == null}" />
</h:column>
</h:dataTable>
<a4j:commandButton value="Add" execute="@form" action="#{bean.addAction}" render=":Table" />