2012-02-16 52 views
0

内panelGroup中这是一个后续问题:Dynamically updating a4j:repeat using data from formpanelGroup中基于的ArrayList - 编辑ArrayList和更新来自

我现在有2个选择,并在他们旁边一个命令按钮。当按下按钮时,选择下面的ul-list将更新为包含两个选择和删除按钮的值的行。

当我按下删除按钮时,我想从bean侧和视图中删除行(名称+使用权配对)。该对从Bean侧的ArrayList中正确删除,但ul-list未更新。当我按下F5时,元素将从列表中删除。

当我按下删除按钮时,如何再次渲染面板组?

<h:selectOneMenu value="#{assetUploadForm.currentGroupName}" valueChangeListener="#{assetUploadForm.groupNameChanged}"> 
    <f:selectItems value="#{assetUploadForm.groupNames}" /> 
    <a4j:ajax event="valueChange" render="second" execute="@this" /> 
</h:selectOneMenu> 

<h:selectOneMenu value="#{assetUploadForm.currentGroupRW}" valueChangeListener="#{assetUploadForm.groupRWChanged}"> 
    <f:selectItem itemValue="R" itemLabel="Read"/> 
    <f:selectItem itemValue="W" itemLabel="Write"/> 
    <a4j:ajax event="valueChange" render="second" execute="@this" /> 
</h:selectOneMenu> 

<a4j:commandButton action="#{assetUploadForm.addGroupRights}" value="add group" render="groupList"/> 
<h:panelGroup id="groupList"> 
<ul> 
    <a4j:repeat value="#{assetUploadForm.groupPermissions}" var="permission"> 
    <li> 
     <h:outputText value="#{permission.group.groupName}"/>&nbsp;&nbsp; 
     <h:outputText value="#{permission.permissionMode}"/>&nbsp;&nbsp; 
     <a4j:commandButton action="#{assetUploadForm.removeGroupPermission}" render="groupList" value="remove"> 
     <a4j:param value="#{permission.group.groupName}" assignTo="#{assetUploadForm.permissionToRemove}"/> 
     </a4j:commandButton>      
    </li> 
    </a4j:repeat> 
</ul> 
</h:panelGroup> 
+0

我尝试了一天的各种事情,放弃和问,然后尝试别的,它的工作原理。 :) 将execute =“@ this”添加到remove commandButton解决了这个问题。我会在今天晚些时候添加答案,因为我没有足够的声望,所以无法添加。 – 2012-02-16 10:23:38

回答

0

将execute =“@ this”添加到remove命令按钮可解决此问题。