对于Primefaces treeTable组件,我添加了jquery ui droppable和draggable事件,以便我可以重新排序列。
tree.xhtml
<p:treeTable id="items" var="item" value="#{bean.root}" >
<c:forEach var="column" items="#{bean.columns}" style="width:70px;">
<p:column headerText="#{column.header}">
<h:outputText value="#{some data}" />
</p:column>
</c:forEach>
</p:treeTable>
tree.js
$('.ui-resizable-column')
.draggable(
{
appendTo : 'body',
opacity : '0.6',
cursor : 'pointer',
scope : this.id,
})
.droppable(
{
drop : function(g, h) {
.. implementation goes here...
$.ajax().done(function(){
alert( 'done!' );
});
}
});
因此,我想跟踪列顺序,因此我需要在Java后端进行此事件或任何其他远程方法调用的ajax事件。我怎样才能在后端调用函数。 JS或primefaces有可能吗?
public void reOrder( BehaviorEvent event ){
}
答案 0 :(得分:0)
解决 - 在jquery事件完成时调用remoteCommand,它将执行bean方法。
<强> tree.xhtml 强>
$.ajax().done(function(){
callToBean();
});
<强> tree.js 强>
<p:remoteCommand name="callToBean" actionListener="#{bean.reOrder/>