0

我在错误地刷新页面时遇到 JSF/ADF/PPR 问题。我有一个带有 5 个选项的 selectManyCheckBox,其中一个选项是“全部”。如果用户选中该复选框,我应该检查所有其他复选框。

<h:panelGrid styleClass="myBox leftAligned" id="applyChangesBox">
            <af:selectManyCheckbox id="changesCheckedBox" 
                   autoSubmit="true" label="Hello: "
                   value="#{updateForm.applyChangesList}" 
                   valueChangeListener="#{updateForm.testValueChanged}">
              <af:selectItem value="A" label="All Changes"/>
              <af:selectItem value="R" label="Residential Address"/>
              <af:selectItem value="M" label="Mailing Address"/>
              <af:selectItem value="P" label="Personal Phone/Fax Numbers"/>
              <af:selectItem value="E" label="Personal Email Addresses"/>
            </af:selectManyCheckbox>
            <af:outputText value="#{updateForm.testValue}" partialTriggers="changesCheckedBox"/>
          </h:panelGrid>

我正在使用 valueChangeListener 以便我可以看到我的 bean 更新并正确打印出来,但是如果我需要,我的页面不会刷新并检查所有其他复选框。

4

2 回答 2

0

尝试以下操作:

  1. 不要使用valueChangeListener. 将您的逻辑移至setApplyChangesList()bean 上的方法。
  2. 添加partialTriggers="changesCheckedBox"到选择一个选项。
  3. 或将 替换为<h:panelGrid/>ADF 组件并在其上设置partialTriggers属性,使其不在selectManyCheckbox&outputText

或者

selectManyCheckboxselectManyList&替换selectAllVisible似乎可以做你想做的事情的属性。

这些新的备忘单很棒! http://www.oracle.com/technology/products/adf/adffaces/11/doc/cheatsheet/lovs.html

于 2010-04-02T16:39:58.623 回答
0

我知道这个问题很老了,但也许其他人仍然有这个问题。最好将 partialTrigger 放在父级而不是输出本身。这样,父面板与输出一起被重新绘制。其次,最好设置应该响应触发器的组件的“id”字段。

于 2014-04-06T14:54:52.317 回答