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>
Już nie tak. Działa z drag & drop z komórki do komórki. – Thomas
@ Thomas6767 Świetnie! Czy możesz umieścić wersję PrimeFaces, w której jest to poprawione? – Mark
Prace na podstawach 5.1 – Thomas