Primefaces 在另一个数据表中删除行后,该行不会从数据表中删除

Primefaces 在另一个数据表中删除行后,该行不会从数据表中删除,primefaces,datatable,Primefaces,Datatable,我需要您的帮助,将删除的行从datatable1删除到datatable2。我正在PrimeFaces中使用拖放数据表。一旦我从datatable1中拖动了行并将其放到datatable2中,该行将保留在datatable1中,并将添加到datatable2中,在datatable1中应该删除该行。我的代码如下: private List<PendingRequests> listPendingRequests; private List<PendingReq

我需要您的帮助,将删除的行从datatable1删除到datatable2。我正在PrimeFaces中使用拖放数据表。一旦我从datatable1中拖动了行并将其放到datatable2中,该行将保留在datatable1中,并将添加到datatable2中,在datatable1中应该删除该行。我的代码如下:

    private List<PendingRequests> listPendingRequests;

    private List<PendingRequests> droppedRequests;

    private PendingRequests selectedRequest;


    @PostConstruct

       public void init() {

           droppedRequests = new ArrayList<PendingRequests>();

           listPendingRequests= new ArrayList<PendingRequests>();

       }

public void onRequestDrop(DragDropEvent ddEvent) {

PendingRequests car = ((PendingRequests) ddEvent.getData());

droppedRequests.add(car);

listPendingRequests.remove(car);
           RequestContext.getCurrentInstance().update("Pendings:PendingRequests");

                  }     
私有列表listPendingRequests;
私人名单请求;
私人挂起请求selectedRequest;
@施工后
公共void init(){
droppedRequests=newarraylist();
listPendingRequests=new ArrayList();
}
公共无效onRequestDrop(DragDropEvent ddEvent){
PendingRequests car=((PendingRequests)ddEvent.getData());
删除请求。添加(car);
listPendingRequests.remove(汽车);
RequestContext.getCurrentInstance().update(“Pendings:PendingRequests”);
}     
下面是我的xhtml:

<script type="text/javascript">

  function handleDrop(event, ui) {

  var droppedRequests = ui.draggable;

  droppedRequests.fadeOut('fast');

  }

 </script>

<h:form id="Requests">

<p:fieldset id="Pendings" legend="Pending Requests">

<p:dataTable id="PendingRequests" var="hr" value="#{hrd.pendingRequests}" >

  <p:column style="width:20px">

<h:outputText id="dragIcon" styleClass="ui-icon ui-icon-arrow-4"/>

                                <p:draggable for="dragIcon" revert="true" helper="clone"/>
 </p:column>

</p:dataTable>

</p:fieldset>

<p:fieldset id="Closed" legend="Closed Requests" style="margin-top:20px">

<p:outputPanel id="dropArea">

<h:outputText value="!!!Drop here!!!" rendered="#{empty hrd.droppedRequests}"
                            style="font-size:24px;"/>

<p:dataTable id="ClosedRequests" var="chr" value="#{hrd.droppedRequests}"                                      rendered="#{not empty hrd.droppedRequests}">

<p:column headerText="Request No.">

<h:outputText value="#{chr.reqNo}"/>

 </p:column>

 </p:dataTable>

</p:outputPanel>

</p:fieldset>

  <p:droppable for="Closed" tolerance="touch" activeStyleClass="ui-state-highlight" datasource="PendingRequests" onDrop="handleDrop">

  <p:ajax listener="#{hrd.onRequestDrop}" update="dropArea PendingRequests"/>

 </p:droppable>

函数handleDrop(事件,用户界面){
var droppedRequests=ui.draggable;
droppedRequests.fadeOut('fast');
}

解决方案是将arraylist保留在init方法中,并在@postConstruct中运行它