在primefaces treeTable列上调用java方法重新排序

时间:2014-02-14 15:03:39

标签: javascript jquery-ui jsf primefaces

对于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 ){

}

1 个答案:

答案 0 :(得分:0)

解决 - 在jquery事件完成时调用remoteCommand,它将执行bean方法。

<强> tree.xhtml

$.ajax().done(function(){
   callToBean();
});

<强> tree.js

<p:remoteCommand name="callToBean" actionListener="#{bean.reOrder/>