我正在为PrimeFaces DataTable和延迟加载而苦苦挣扎。这是我的桌子:
<p:dataTable var="entry"
value="#{app.table}" scrollable="true"
scrollHeight="400" virtual="true" lazy="true" virtualScroll="true"
rows="40" scrollRows="20"
sortBy="#{entry.group}" sortOrder="ascending"
expandableRowGroups="true"
resizableColumns="true" liveResize="true">
<p:headerRow>
<p:column colspan="2">
<h:outputText value="#{entry.group}" />
</p:column>
</p:headerRow>
<p:column headerText="Group">
<h:outputText value="#{entry.group}" />
</p:column>
<p:column headerText="Value">
<h:outputText value="#{entry.value}" />
</p:column>
</p:dataTable>
最初,一切看起来都很好。分组和输入正确。但是在滚动(并加载下一行)之后,所有组都将丢失。即使您滚动回到顶部。
PrimeFaces是否支持在同一表中进行延迟加载和分组?将组与LazyDataModel一起使用时,需要考虑什么吗?是否有带有expandableRowGroups和延迟加载的表的示例?
设置 rows =#{app.table.size()} 可以解决此问题(但也可以禁用延迟加载)。对于> 5k行,这不是选项。
TIA!