Java 以编程方式选择selectManyCheckbox组件
如何以编程方式设置Java 以编程方式选择selectManyCheckbox组件,java,oracle-adf,Java,Oracle Adf,如何以编程方式设置af:selectManyCheckbox项的选择 我有一个旧的ADF版本,我尝试在此列表中创建一个项目,如果我单击它,它将选择所有剩余的项目: <af:selectManyCheckbox value="#{usersByRoleFBB.selectedRolesId}" valueChangeListener="#{usersByRoleFBB.listChanged}" re
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);
}
}
}
}
私有列表列表列表项;
私有长[]selectedRolesId;
公共作废列表已更改(ValueChangeEvent事件){
Long oldValue=(Long)event.getOldValue();
Long newValue=(Long)event.getNewValue();
如果(旧值==-1 | |新值==-1){
如果(新值==-1L){
对于(SelectItem SelectItem:listRoleItems){
selectItem.setValue(true);
}
}
如果(旧值==-1L){
对于(SelectItem SelectItem:listRoleItems){
selectItem.setValue(false);
}
}
}
}
在ADF 11g中,您可以通过更改selectedRolesId列表的内容以编程方式更改选择。我认为在旧版本中也应该如此。在ADF 11g中,您可以通过更改selectedRolesId列表的内容以编程方式更改选择。我认为在旧版本中也应该如此