2012-09-25 28 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

希望这会有所帮助。

相关问题