我正在使用带有 PrimeFaces 4.0 的 JSF 2.2。我有<p:dataTable>
实时滚动、延迟加载、行扩展和单元格编辑等功能。
<p:dataTable
id="dtaTable"
selection="#{cont.selectedArray}"
resizableColumns="true"
draggableColumns="true"
var="dataModel"
value="#{cont.yieldBondsModel}"
editable="true"
editMode="cell"
selectionMode="multiple"
rowSelectMode="add"
scrollable="true"
scrollHeight="650"
rowKey="#{modeld.id}+#{model.name}"
rowIndexVar="rowIndex"
filterEvent="enter"
styleClass="screenScrollStyle"
scrollRows="25"
liveScroll="true"
lazy="true"
rows="50"
filteredValue="#{cont.filteredModel}"
widgetVar="dt4"
>
<p:rowExpansion>
<h:panelGrid id="display" columns="2" cellpadding="4" style="width:300px;" styleClass="ui-widget-content grid">
<f:facet name="header" styleClass="dataTableHeader">Other Data</f:facet>
<h:outputText value="id " />
<h:outputText value="#{dataModel.id}"/>
<h:outputText value="Name" />
<h:outputText value="#{dataModel.name}" />
</h:panelGrid>
</p:rowExpansion>
<p:column width="15">
<p:rowToggler />
</p:column>
...
</p:dataTable>
在第一页上,一切都像魅力一样。一旦我向下滚动它,数据就会变得非常好地延迟加载,但是在行扩展和单元格编辑过程中会出现一些问题:
在行扩展中,我得到了错误的值。可能与其他行的值重叠。
单元格编辑也不起作用。一旦我编辑任何单元格,值就不会显示在单元格编辑器中。
<h:outputText>
我已经检查了 Firebug,生成的 HTML 确认没有任何值<div class="ui-cell-editor-output" style="display: none;"></div>
。如您所见,div 内部没有任何值。
支持 bean 是@SessionScoped
.
这是如何引起的,我该如何解决?