Monday, September 3, 2012

ADF: SelectOneChoice ForEach, Filter - Drop down list keeping the first size selected

Ok so I had a bunch of filters all rendered from a backing bean using the forEach tag to render the select items.

On updating the table the filters would always have the size of the initially selected item - not good.
So if you fist selection had one item in the filter the filter would always be one item big.

SOLUTION:
Changed from a forEach to a f:SelectItems creating the Select items in my backing bean - everything worked.

Nice and simple.


    public List<SelectItem> listUniqueSelectItemList(List<String> items) {
        List<SelectItem> itemList = new ArrayList<SelectItem>();
        if (items != null) {
            for (String item : items) {
                itemList.add(createSelectItem(item));
            }
        }
        return itemList;
    }

    private SelectItem createSelectItem(String filter) {
        return new SelectItem(filter, filter);
    }



                  <af:selectOneChoice value="#{pageFlowScope.testBean.stringFilterValue}"
                                      id="soc1"
                                      unselectedLabel="#{bundle['test.unselected.label']}"
                                      label="filter"
                                      autoSubmit="true">
                    <f:selectItems value="#{pageFlowScope.scheduleBean.listUniqueTestItems}"
                                id="fe_it"/>
                  </af:selectOneChoice>



No comments:

Post a Comment