6 Replies Latest reply on Dec 16, 2010 3:06 PM by Winster Jose

    rich:orderinglist doesn't take multi selection

    Gunnar Stahl Newbie

      Hello Community,

      I have some trouble with how the ordering list works. The following is an excerpt of my ordering list:


      <rich:orderingList id="AngebotsListe" listWidth="825px"
                                  listHeight="755px" controlsType="button"
                                  var="angebotsElement" converter="ProspektElementConverter"


                                    [Multiple column definitions]


                               <a4j:support event="ondblclick" ignoreDupResponses="true"
                                      actionListener="#{listControllerBean.editAngebotsPanelRequested}" reRender="pnlEditAngebotsElementContainer"/>
                                  <a4j:support event="onclick" ignoreDupResponses="true"
                                      requestDelay="500" actionListener="#{listControllerBean.takeSelection}"/>


      Whenever I click on one row of the list the listModelBean.selectedAngebotElements is updated with the selected row. The listControllerBean.takeSelection is called and executes the following code:


      public void takeSelection(ActionEvent event) {
              logger.debug("In takeSelection...");
              logger.debug("Trying to find component with offering elements...");
              UIComponent component = event.getComponent().getParent();
              logger.debug("Found: " + (component == null ? "<null>" : (component.getClass().getName() + " - " + component.getId())));
              if(component != null) {
                  logger.debug("Component that fired the event: " + component.getClass().getSimpleName() + " - " + component.getId());
                  UIOrderingList orderingList = (UIOrderingList)component;
                  Set<AngebotsElementTO> selection = ListModelBean.getInstance().getSelectedAngebotElements();
                  logger.debug("Selection. "+ (selection == null ? "<null>" : selection.size()) + " - Setting selection in listmodelbean");
              logger.debug("Leaving takeSelection");


      The log output shows that one row has been selected.


      The same happens when I select multiple rows via <ctrl>+click. But instead of providing me with the list of rows that are selected only the last selected row is shown. Currently I have no way of knowing how many rows have been selected. Which annoys me...


      How can I find out which rows of the ordering list have been selected?