我仍在研究 primefaces 组件 p:orderlist。我设法实现了拖放行为(将另一个列表中的项目放入 p:orderlist),并且我还使 p:commandButton 在 p:orderlist 中工作。
现在我有一个新问题。您可以将项目拖放到 p:order 列表中,以赋予它们新的顺序。(也就是说,为什么该组件被称为 orderlist,与购物订单无关 ;-) )。
但是,如果我重新排序我的项目,我不会收到任何通知或事件,它告诉我的 bean,有些东西发生了变化。
有人知道如何使这成为可能吗?
这是我的 p:orderlist,看起来很熟悉:
<h:panelGroup>
<p:remoteCommand name="removeTechniker" actionListener="#{systemlandschaftRessourceHandler.removeTechnikerByRemoteCommand}"
out="technikersTable" update="@form"/>
<p:orderList id="technikersTable"
value="#{systemlandschaftRessourceHandler.entity.technikers}"
var="_techniker"
itemValue="#{_techniker}"
converter="#{entityConverter}"
controlsLocation="none">
<f:facet name="caption">Techniker</f:facet>
<p:column>
<p:commandButton id="deleteTechnikerFromListButton"
styleClass="colButton"
icon="ui-icon-trash"
type="button"
onclick="removeTechniker([{name:'id', value:'#{_techniker.id}'}]);"
update="@form"/>
</p:column>
<p:column style="width:75%;" id="outTech">
<p:outputLabel value="#{_techniker.verantwortlich.displayName}"/>
</p:column>
</p:orderList>
<p:droppable id="technikerDrop"
for="technikersTable"
tolerance="touch"
activeStyleClass="ui-state-highlight"
datasource=":systemLandschaftTabView:sysObjektDetailPanelForm:userTable"
scope="userDraggable">
<p:ajax listener="#{systemlandschaftRessourceHandler.onDropTechniker}" update="@form" />
</p:droppable>
</h:panelGroup>
我已经在 primefaces 社区上找到了一些东西,但这不起作用,甚至无法说出原因。链接: http: //forum.primefaces.org/viewtopic.php?f=3 &t=26539
问候 LStrike
仅供参考,这是我解决的项目,关于 p:orderlist:
和