Выбор компонента selectManyCheckbox программным путем - PullRequest
2 голосов
/ 14 ноября 2011

Как установить выбор элемента af:selectManyCheckbox программным способом?

У меня есть старая версия ADF, и я пытаюсь создать элемент в этом списке, который выбирает все оставшиеся элементы, если щелкнуть по нему:

<af:selectManyCheckbox value="#{usersByRoleFBB.selectedRolesId}"
                       valueChangeListener="#{usersByRoleFBB.listChanged}"
                       required="true" showRequired="true" label="Роли: ">
  <f:selectItems value="#{usersByRoleFBB.listRoleItems}" />
</af:selectManyCheckbox>

Мой класс Java:

private List<SelectItem> listRoleItems;
private Long[] selectedRolesId;

public void listChanged(ValueChangeEvent event) {
    Long oldValue = (Long) event.getOldValue();
    Long newValue = (Long) event.getNewValue();
    if (oldValue == -1 || newValue == -1) {
        if (newValue == -1L) {
            for (SelectItem selectItem : listRoleItems) {
                selectItem.setValue(true);
            }
        } 
        if (oldValue == -1L) {
            for (SelectItem selectItem : listRoleItems) {
                selectItem.setValue(false);
            }
        }
    }
}

1 Ответ

0 голосов
/ 15 ноября 2011

В ADF 11g вы можете программно изменять выбор, изменяя содержимое списка selectedRolesId.Я думаю, что то же самое должно работать и в старых версиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...