2013-11-27 3 views
1

데이터 테이블에 드롭 다운 및 입력 텍스트가 있습니다. 데이터 테이블에 새로운 행을 추가하는 버튼이 있습니다.렌더링 된 속성은 입력 텍스트에서 작동하는 반면 드롭 다운에는 효과가 없습니다.

추가시 제출 된 드롭 다운 값 및 이전 행의 텍스트를 출력 텍스트로 표시하고 드롭 다운을 표시하고 새 행에만 텍스트를 입력하려고합니다.

나는 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" /> 

답변

1

가까이 봐 :

<h:outputText ... rendered="#{attr.orderItem.ItemId != null}"> 
<h:selectOneMenu ... rendered="#{attr.orderItem.ItemId == null}"> 

을하고 그것을 작동 여기서

<h:outputText ... rendered="#{attr.orderItem.itemId != null}"> 
<h:inputText ... rendered="#{attr.orderItem.itemId == null}"> 

하나는 ItemId 말한다 다른 하나는 itemId을 말한다. 그것을 밖으로 정렬. 속성은 항상 대문자로 시작하지 않는 한 항상 소문자로 시작합니다.

+0

감사합니다. BalusC !!! 그것은 효과가 있었지만 지금은 뒷주백에 Price를 설정하는 문제에 직면하고 있습니다. 그것은 거기에 그것을 설정하지 않습니다. 내가 콩을 뒷받침 할 때 그 가치를 얻으려고 할 때. 그게 제가 열거 한 가치를 보여주지 못했습니다. – user3041619

+0

반갑습니다. 귀하의 새로운 질문에 관해서는, 바로 위에 "질문 질문"버튼을 눌러 그 대답을 얻을 수있을 것입니다 :) – BalusC