Почему выбор строки из простых чисел, которые могут содержать данные, не бросает значение в bean-компонент? - PullRequest
0 голосов
/ 03 апреля 2019

У меня проблема с моими простейшими данными (версия 5.3, версия 2.1 jsf, версия 8 java). Я делаю выборку для datatable (в раскрытии строки), и значение никогда не передается в bean-компонент, оно всегда отображает ноль.

Вот мой код xhtml:

<p:tab title="Stocks" rendered="#{...}">
<p:panel>
<h:form id="form">
  <p:panel styleClass="ongletStock">
    <....>
      <p:panel styleClass="..." style="vertical-align: top !important;background-color: transparent;" id="panelStock" rendered="#{...}">
        <p:dataTable id="tabledepot" var="depot" value="#{bean.depots}" rowKey="#{depot.id}" sortBy="#{depot.nom}" sortOrder="ascending" emptyMessage="aucun enregistrement" styleClass="..." style="" lazy="false" rows="10" paginator="true" paginatorPosition="bottom"
          expandedRow="#{true}">
          <p:column style="width:25px">
            <p:rowToggler/>
          </p:column>
          <p:column>
            ....
          </p:column>
          <p:rowExpansion> `here the datatable with selectionMode`
            <p:dataTable id="datatableEmplacementId" widgetVar="datatableEmplacement" value="#{bean.getListEmplacement(depot)}" var="emplacement" selection="#{bean.emplacementSelected}" selectionMode="single" rowKey="#{emplacement.id}" emptyMessage="aucun enregistrement"
              scrollable="true" scrollHeight="100">
              <p:ajax event="rowSelect" process="@this" />
              <p:ajax event="rowDblselect" oncomplete="PF('...').show()" update="..." process="@this" />
              <p:column/>
              <p:column>
                <p:panelGrid>
                  <p:row>`here the two commandLink called`
                    <p:column>
                      <p:commandLink styleClass="..." style="width: 7px; color: #0b0c0b" actionListener="#{beane.getListEmplacement()}" process="@this" update="dialog" oncomplete="dialog.show();" />
                    </p:column>
                    <p:column>
                      <p:commandLink styleClass="fa fa-trash hz-row-focus" style="width: 7px; color: #0b0c0b" process="@this" actionListener="#{bean.deleteEmplacement()}" update="panelStock" />
                    </p:column>
                  </p:row>
                </p:panelGrid>
              </p:column>
            </p:dataTable>
          </p:rowExpansion>
        </p:dataTable>
      </p:panel>
</h:form>
</p:panel>

В начале «ongletStock» был в пользовательском интерфейсе: include, и я прочитал, что это может вызвать некоторые проблемы с выбором dataTable, поэтому я непосредственно включил его в ту же страницу xhtml, что и вкладка. Проблема все еще здесь ... я также пытался окружить панель формой h: конечно, но все та же ..

Моя строка хорошо выделена (потому что выделена), но когда я нахожусь в слушателе commandLink, emplacementSelected всегда равно нулю ...

В bean-компоненте все в порядке, у меня есть метод получения и установки "emplacementSelected", но значение остается "нулевым", даже если я добавляю прослушиватель для события rowSelect Ajax.

Кто-то видит что-то, что может быть не так?

Спасибо.

PS: Извините за мой английский, а не мой родной язык ...

...