JSF: вложенный цикл списка выбора в цикл dataGrid. Почему работает только первый список выбора?

Итак, у меня есть следующий код:

    <p:dataGrid var="planet" value="#{calculator.planets}" columns="5" layout="tabular"
                rows="1">

        <f:facet name="header">
            Your solar system
        </f:facet>

        <p:panel header="Planet #{planet.number}:" style="width:100%;text-align:center">
            <h:panelGrid columns="2" style="width:100%">

                <h:outputText value="Type:"/>
                <h:outputText value="#{planet.type}"/>

                <h:outputText value="Size:"/>
                <h:outputText value="#{planet.size}"/>

                <h:outputText value="Influence:"/>
                <h:outputText value="#{planet.planetProperties.influenceTotal}"/>

            </h:panelGrid>

            <p:growl id="msg" showDetail="true" escape="false" />

            <h3 style="margin-top: 0">Basic PickList</h3>
            <p:pickList id="pickList" value="#{planet.planetProperties.anomalies}" var="constructedAnomalies"
                        itemLabel="#{constructedAnomalies}" itemValue="#{constructedAnomalies}" converter="com.Puiu.Alex.Controller.Converters.ConstructedAnomaliesConverter"/>

            <p:commandButton id="anomaliesSubmit" value="Submit" 
                 update="@form" actionListener="#{calculator.actualizeSolarSystem}" style="margin-top:5px" />
        </p:panel>

    </p:dataGrid>

Короче говоря, #{calculator.planets} - это список планет. Каждая планета содержит DualListModel, представленный #{planet.planetProperties.anomalies}.

Вот что происходит:

  • это генерирует планеты
  • он генерирует списки выбора с соответствующими значениями в них.
  • первый список выбора работает отлично, изменяя планеты с эффектами аномалий и перемещая значения с левой стороны на правую сторону.
  • но затем я пытаюсь использовать другие списки выбора (для любой другой планеты, кроме первой), он перемещает значение с левой стороны вправо, но когда я нажимаю "Отправить", в сбрасывает списки выбора в исходное состояние (это перемещает значения обратно в левую часть). Другие списки выбора просто не работают, и когда он обновляет форму, это как ничего не происходит.
  • Надеюсь, я объяснил это достаточно хорошо. Я хотел бы привести "Минимальный, полный и проверяемый пример", но я боялся, что пост получится очень длинным, и, возможно, это общая проблема.

    Заранее спасибо! Алекс П.

    0 ответов

    Другие вопросы по тегам