2012-09-25 31 views
1

我正在寫一個拖放組件用戶可以拖動一個簡單的面板至極放入一個dataGrid,我的問題是當我刪除一個新面板的數據網格沒有改變動態大小。 所以有一個屬性要設置或別的東西。 這裏是我遵循的示例http://www.primefaces.org/showcase/ui/dndGrid.jsf 預先感謝您。刪除一個新的組件後更新datagrid大小

,這裏是我的代碼:

<h:panelGrid columns="2" cellpadding="10"> 
<p:column> 
    <p:fieldset id="belongTo" legend="Belong To" > 
    <p:dataGrid id="userGroups" 
       var="userGroup" 
       value="#{projectAdminisrationMB.selectedUserMemberOfGroups}" 
       columns="3"> 
    <p:column> 
     <p:panel id="pnl1" 
       header="#{userGroup.name}" 
       style="text-align:center"> 
     <h:panelGrid columns="1" style="width:100%"> 
      <p:graphicImage value="/images/group/adminGroup.gif"/> 
     </h:panelGrid> 
     </p:panel> 
     <p:draggable for="pnl1" 
        revert="true" 
        handle=".ui-panel-titlebar" 
        stack=".ui-panel"/> 
    </p:column> 
    </p:dataGrid> 
</p:fieldset> 
<p:droppable for="belongTo" 
      tolerance="touch" 
      activeStyleClass="ui-state-highlight" 
      datasource="userNotGroups" > 
    <p:ajax listener="#{projectAdminisrationMB.onExcludeFromGroupDrop}" /> 
</p:droppable> 
</p:column> 
<p:column> 
    <p:fieldset id="excludeFrom" 
      legend="Exclude From" 
      style="margin-top:20px"> 
    <p:dataGrid id="userNotGroups" 
       var="userNotGroup" 
       value="#{projectAdminisrationMB.selectedUserNotMemberOfGroups}" 
       columns="3"> 
    <p:column> 
     <p:panel id="pnl2" 
       header="#{userNotGroup.name}" 
       style="text-align:center"> 
     <h:panelGrid columns="1" style="width:100%"> 
      <p:graphicImage value="/images/grou/defaultGroup.gif"/> 
     </h:panelGrid> 
     </p:panel> 
     <p:draggable for="pnl2" 
        revert="true" 
        handle=".ui-panel-titlebar" 
        stack=".ui-panel"/> 
    </p:column> 
    </p:dataGrid> 
</p:fieldset> 
<p:droppable for="excludeFrom" 
      tolerance="touch" 
      activeStyleClass="ui-state-highlight" 
      datasource="userGroups" > 
    <p:ajax listener="#{projectAdminisrationMB.onBelongToGroupDrop}" /> 
    </p:droppable> 
    </p:column> 
</h:panelGrid> 

回答

0

嘗試增加了「更新」參數設置爲你的兩個號碼:Ajax調用。

<p:ajax listener="#{projectAdminisrationMB.onExcludeFromGroupDrop}" update="userNotGroups userGroups" /> 

<p:ajax listener="#{projectAdminisrationMB.onBelongToGroupDrop}" update="userNotGroups userGroups" /> 

您引用的鏈接正在使用此技術。更新參數採用您想要更新的組件的ID。 PrimeFaces DnD Demo

希望這會有所幫助。

相關問題