2011-01-24 34 views
5

Có doanh nghiệp cần phân loại các mục. Ý tưởng hay nhất dường như là các mục kéo xuống từ một danh sách vào danh sách các danh mục. Số lượng các loại có thể khác nhau vì vậy p: dataTable được sử dụng. Yêu cầu Ajax được gửi nhưng phương thức onDrop không được gọi từ bên trong dataTable. Khi loại bỏ datatable và cột và có outputpanels tĩnh sau đó onDrop được gọi là?Làm thế nào để sử dụng PrimeFaces p: droppable bên trong datatable?

Cách kéo và thả các mục tốt nhất vào danh mục thay đổi động?

 <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> 

Trả lời

5

Có một bug trong PrimeFaces, khi <p:droppable> được lồng trong bất kỳ dữ liệu lặp lại các phần tử dropListener không được gọi. Tôi cũng đã thử sử dụng thẻ lặp Facelets <ui:repeat> nhưng dropListener không được gọi giống như kéo đến <p:dataTable>.

Trong phần giới thiệu của PrimeFaces, tất cả các ví dụ kéo thả đều có các vùng có thể phân hủy tĩnh.
PrimeFaces ShowCase

+0

Không còn nữa. Đã làm việc với kéo và thả từ ô này sang ô khác. – Thomas

+0

@ Thomas6767 Tuyệt vời! Bạn có thể đặt phiên bản PrimeFaces nào được sửa trong tham chiếu không. – Mark

+1

Hoạt động trên Primefaces 5.1 – Thomas

Các vấn đề liên quan