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