2016-07-04 2 views
0

Datatable은 마지막 항목 만 추가 했으므로 명령 단추를 누를 때마다 메서드가 목록을 다시 작성합니다.이를 피하려면 어떻게해야합니까?Primefaces DataTable은 마지막 항목 만 표시합니다.

JSF

<p:commandButton action="#{productoBean.setPedidoActual()}" value="Agregar" update="dt"/> 

     </p:panelGrid> 
     <p:dataTable value="#{productoBean.pedidoActual}" var="pedi"> 
      <p:column headerText="Nombre">     
       <h:outputText value="#{pedi.descripcion}"/> 
      </p:column> 
     </p:dataTable> 

public void setPedidoActual() { 

    Producto pro = productoFacade.find(idProducto); 

     listPedidoActual.add(pro); 

} 

public List<Producto> getPedidoActual() { 

    return listPedidoActual; 
} 
+0

Bean의 범위는 무엇입니까? RequestScoped이면 Bean은 모든 클릭에 대해 재구성됩니다. 세션 또는보기 스코프이면 목록 내용을 유지해야합니다. – Abaddon666

답변

0

귀하의 setPedidoActual() 방법은이 올바른지, 외관 서비스 find(idProducto)에 따라 하나의 항목을받을 것 같아? 원격 서비스가 반환하는 것을 확인 했습니까? 아마 사실 하나의 기록 만있을 것입니다. 그 옆에

,

getListPedidoActual()setListPedidoActual()

지금 당신의 메소드 이름이 당신의 속성과 일치

getPedidoActual()/setPedidoActual()

에서 세터/게터의 이름을 변경하려고합니다.

편집 : panelGrid 태그는 어떻게 되었습니까? 의도적으로 생략 했습니까, 아니면 어디에서 시작합니까?

관련 문제