2011-11-14 81 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列表的內容以編程方式更改選擇。我認爲同樣應該可以在舊版本中運行。

相關問題