У меня проблема с моими простейшими данными (версия 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: Извините за мой английский, а не мой родной язык ...