我的primefaces(5.3版本,2.1 jsf版本,8 Java版本)数据表出现问题。 我在数据表上进行了选择(在行扩展中),并且该值从未抛出给bean,它始终呈现null。
这是我的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”位于ui:include中,并且我读到它可能会导致dataTable选择出现一些问题,因此我将其直接包含在与选项卡相同的xhtml页面中。问题仍然存在...我也尝试过用h:form包围面板,以确保但仍然相同。.
我的行被选中(因为突出显示了),但是当我在commandLink的侦听器中时,emplacementSelected始终为null ...
在Bean中,一切都很好,我有“ emplacementSelected” getter和setter,但即使在rowSelect Ajax事件上添加了侦听器,该值仍为“ null”。
有人看到可能出问题的东西吗?
谢谢。
PS:对不起,我的英语不是我的母语……