2011-11-14 79 views
2

如何以编程方式设置选择af:selectManyCheckbox项目?以编程方式选择selectManyCheckbox组件

我有一个旧的自动进稿器版本,我尝试创建这个列表中的项目,将选择所有余下的项目,如果我点击:

<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); 
      } 
     } 
    } 
} 

回答

0

在ADF 11g可以通过更改selectedRolesId列表的内容以编程方式更改选择。我认为同样应该可以在旧版本中运行。

相关问题