【问题标题】:panelgroup based on an arrayList - editing the arraylist and updating the panelgroup from within基于数组列表的面板组 - 编辑数组列表并从内部更新面板组
【发布时间】:2012-02-16 09:58:53
【问题描述】:

这是一个后续问题:Dynamically updating a4j:repeat using data from form

我现在有 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>

【问题讨论】:

  • 我尝试了一天的各种东西,放弃并询问,然后尝试其他东西并且它有效。 :) 将 execute="@this" 添加到删除命令按钮解决了这个问题。今天晚些时候我会添加答案,我还不能添加它,因为我没有足够的声誉..

标签: jsf-2 richfaces


【解决方案1】:

将 execute="@this" 添加到删除命令按钮解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 2011-07-10
    • 2015-04-13
    • 2013-07-21
    相关资源
    最近更新 更多