我有一个带有下拉列表和输入文本的数据表。我有一个向数据表添加新行的按钮。
添加时,我想将前一行的下拉列表和输入文本的提交值显示为输出文本,并仅在新行中显示下拉列表和输入文本。
我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" />