我在 PrimeFaces 4.0 中使用 JSF 2.2。我有一个 <p:dataTable>
与 live scrolling , lazy loading , row-expansion和 cell-editing , 等等。
<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>
中没有值由生成的 HTML 确认 <div class="ui-cell-editor-output" style="display: none;"></div>
.如您所见,div 中没有值。 支持 bean 是
@SessionScoped
.这是怎么引起的,我该如何解决?
最佳答案
这是 PrimeFaces 上的一个已知问题,并且已经在 Elite 版本(如果我没记错的话,是 4.0.7)中报告和修复。然而,社区版本尚不包含此修复程序。 PrimeFaces 5.0 有一个 RC,其中包含此修复程序。您可以下载它并测试它是否适合您的需要,但请注意,这只是一个候选版本,而不是最终版本。 AFAIK 5.0 决赛的预计到达时间是 5 月上半月。
关于jsf - <p :rowExpansion> and empty values in <p:cellEditor> on scrolled page when using <p:dataTable lazy ="true" liveScroll ="true"> 中的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23195131/