2013-03-20 3 views
1

primefaces를 사용하고 있습니다. 3.5 datatable의 열 중 하나에 p : selectonemenu가 있습니다. 또한 동일한 데이터 테이블의 다른 열에 제출 단추가 있습니다. 제출을하면 행이 삭제됩니다. 여기에서 '기타'를 선택한 다음 제출 작업을 수행하고 양식을 업데이트하면 다른 행의 p : selectonemenu 항목이 첫 번째 값으로 '기타'로 표시됩니다. '기타'를 설정하면primefaces selectonemenu 및 f : 데이터 테이블의 selectonemenu

<p:selectOneMenu value="#{buyerInProcessBean.subject}"> 

주제는 모든 행 사이에 공유를 가지고 있기 때문에 마지막 값 매번

<p:column headerText="Buyer Response" style="white-space:pre-line;"> 
          <p:selectOneMenu value="#{buyerInProcessBean.subject}" 
           id="buyerResponseId" > 
           <f:selectItems 
            value="#{buyerInProcessBean.subjectMap[trans.decisionrule.ruleId]}" 
            var="subject" itemLabel="#{subject}" itemValue="#{subject}"></f:selectItems> 
           <f:selectItem itemLabel="Other" itemValue="Other" ></f:selectItem> 
          </p:selectOneMenu> 
         </p:column> 

답변

0

을하는 방법은 무엇입니까 물론, 다른 선택 메뉴는 같은 값을가집니다 선택한 하나 (귀하의 경우 다른). 이를 위해 간단한 수정을 제안합니다. 반복하는 객체로 대상 속성을 이동해야합니다.

또 다른 문제는 제출시 메소드 실행이 완료되면 주제 속성을 "기타"로 설정하는 것입니다. 그러나 이것으로 변경된 선택 메뉴조차도 "기타"값을 잃게됩니다.

그래서 결론적으로, 당신은 당신의 논리를 변경해야 할, 그래서 그 주제 행

+0

@Raissi 사이에 공유되지 않습니다 : 나는 비즈니스 로직을 변경했습니다. 그 지금 일하고있어. 신속한 답변을 주셔서 감사합니다. – Sagar

+0

환영합니다. 다행입니다. –

관련 문제