2011-01-24 3 views
5

항목을 분류해야하는 비즈니스 필요성이 있습니다. 가장 좋은 아이디어는 한 목록의 항목을 범주 목록으로 드래그 드롭하는 것입니다. 카테고리 수는 다양하므로 p : dataTable이 사용됩니다. AJAX 요청이 전송되었지만 onDrop 메소드가 dataTable 내부에서 호출되지 않았습니다. datatable 및 column을 제거하고 출력 패널을 정적으로 가질 때 onDrop이 호출됩니까?PrimeFaces p : dropable을 데이터 테이블에 사용하는 방법?

항목을 동적으로 변경되는 범주로 드래그 앤 드롭하는 가장 좋은 방법은 무엇입니까? <p:droppable>가 dropListener가 호출되지 않는 요소를 반복 데이터에 중첩 될 때

 <h:form prependId="false"> 
      <h:panelGrid columns="2"> 
       <p:dataTable id="itemstable" value="#{categoryBean.items}" var="item"> 
        <p:column> 
         <p:outputPanel id="itemrow"> 
          <h:outputText value="#{item}"></h:outputText> 
         </p:outputPanel> 
         <p:draggable for="itemrow"></p:draggable> 
        </p:column> 
       </p:dataTable> 

       <p:dataTable value="#{categoryBean.categories}" var="cat"> 
        <p:column> 
         <p:outputPanel id="cats1"> 
          <h:outputText value="category1"></h:outputText> 
         </p:outputPanel> 
         <p:droppable for="cats1" 
            dropListener="#{categoryBean.onDrop}" 
            tolerance="pointer" 
            activeStyleClass="slotActive" 
            datasource="itemstable"> 
         </p:droppable> 
        </p:column> 
       </p:dataTable> 
      </h:panelGrid> 
     </h:form> 

답변

5

는 PrimeFaces에서 bug 있습니다. Facelets 반복 태그 <ui:repeat>을 사용해 보았지만 drop 수신기는 <p:dataTable>으로 끌기와 같이 호출되지 않았습니다.

PrimeFaces 쇼케이스에서 모든 끌어다 놓기 예제는 정적으로 놓을 수있는 영역을 가지고 있습니다.
PrimeFaces ShowCase

+0

더 이상 해당하지 않습니다. 셀에서 셀로 드래그 앤 드롭으로 작업했습니다. – Thomas

+0

@ Thomas6767 좋아요! PrimeFaces 버전이 수정 된 내용을 참조 할 수 있습니까? – Mark

+1

Primefaces 5.1에서 작동 – Thomas

관련 문제