2010-03-26 3 views
0

У меня возникли проблемы с JSF/ADF/PPR при неправильном обновлении страницы. У меня есть selectManyCheckBox с 5 вариантами в нем, один из вариантов - «Все». Если пользователи установили этот флажок, я должен проверить все остальные.JSF/ADF/PPR не может обновить страницу, как ожидалось

<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, чтобы я мог видеть, что мой боб обновляется и распечатывается правильно, но моя страница не обновляется и проверьте все другие флажок, если мне нужно.

ответ

0

Попробуйте следующее:

  1. Не используйте valueChangeListener. Переместите свою логику на метод setApplyChangesList() на свой bean-компонент.
  2. Добавить partialTriggers="changesCheckedBox" в список избранных.
  3. ИЛИ заменить <h:panelGrid/> с компонентом АПД & установлен атрибут на нем partialTriggers так, что это не на selectManyCheckbox & outputText

ИЛИ

Заменить selectManyCheckbox с selectManyList & использовать атрибут selectAllVisible который, кажется, делает то, что вы хотите.

Эти новые чит-коды великолепны! http://www.oracle.com/technology/products/adf/adffaces/11/doc/cheatsheet/lovs.html

+0

Это еще не совсем то, что я ищу, но он работает. –

0

Я знаю, что вопрос очень старый, но, возможно, у других по-прежнему есть эта проблема. Лучше поставить partialTrigger на родителя, а не на сам вывод. Таким образом, родительская панель перекрашивается вместе с выходом. Во-вторых, рекомендуется установить поле «id» компонентов, которые должны отвечать на триггеры.