2011-01-24 15 views
5

Istnieje potrzeba biznesowa do kategoryzacji przedmiotów. Najlepszym pomysłem wydaje się być przeciąganie przedmiotów z jednej listy na listę kategorii. Liczba kategorii może się różnić, więc p: dataTable jest używana. Żądanie Ajax jest wysyłane, ale metoda onDrop nie jest wywoływana z poziomu wewnętrznej tabeli danych. Czy po usunięciu datatable i kolumny statycznie i po panelach wyjściowych wywoływana jest funkcja onDrop?Jak korzystać z PrimeFaces p: droppable inside datatable?

Jak najlepiej przeciągać i upuszczać elementy do dynamicznie zmieniających się kategorii?

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

Odpowiedz

5

Jest bug w PrimeFaces, gdy <p:droppable> jest zagnieżdżony w jakichkolwiek danych powtarzających elementu, dropListener nie zostanie wywołana. Próbowałem również użyć tagu powtarzania Facelets <ui:repeat>, ale dropListener nie został wywołany tak jak przeciąganie do <p:dataTable>.

W prezentacji PrimeFaces wszystkie przykłady przeciągania i upuszczania zawierają statyczne obszary zrzucane.
PrimeFaces ShowCase

+0

Już nie tak. Działa z drag & drop z komórki do komórki. – Thomas

+0

@ Thomas6767 Świetnie! Czy możesz umieścić wersję PrimeFaces, w której jest to poprawione? – Mark

+1

Prace na podstawach 5.1 – Thomas

Powiązane problemy