列で並べ替えた後の DataTable ライブ スクロールの問題の解決策を見つけるためにしばらく探していました。
最初に、「列」の幅を固定する必要があることがわかりました。
http://code.google.com/p/primefaces/issues/detail?id=1333
次に、行の代わりに scrollRows を使用する必要があることがわかりました
http://code.google.com/p/primefaces/issues/detail?id=1236
これらの変更を行いましたが、列で並べ替えた後にライブスクロールを配置できませんでした。
誰でも私を助けてもらえますか?
ありがとうございます。それでは、お元気で。
<p:dataTable id="simulationProductDtId" emptyMessage="#{msgs.notFoundSimulationDetail}" var="item"
value="#{SimulationResultProductBean.simulationSummaryDetailList}"
scrollable="true"
scrollRows="25"
scrollHeight="350"
liveScroll="true"
resizableColumns="true"
style="border-bottom:1px solid #427CC7; overflow:scroll;position: relative;max-width: 100%;overflow-x: hidden"
rowStyleClass="#{(SimulationResultProductBean.collapseSuperCode and item.gam) ? 'row' : null}"
selection="#{SimulationResultProductBean.selectedSimulationDetail}" selectionMode="multiple"
rowKey="#{item.id}">
<f:facet name="header">
...
</f:facet>
<p:column sortBy="#{item.productCode}" width="40"
rendered="#{DynamicSimulationTableBean.columnRenderedMap['productCode']}">
<f:facet name="header">
<h:outputLabel value="#{msgs.code}"/>
</f:facet>
<h:outputText value="#{item.productCode}" >
<f:convertNumber type="number" integerOnly="true" groupingUsed="false"/>
</h:outputText>
</p:column>
<p:column sortBy="#{item.productName}" style="width:100px"
rendered="#{DynamicSimulationTableBean.columnRenderedMap['productName']}">
<f:facet name="header">
<h:outputLabel value="#{msgs.description}"/>
</f:facet>
</p:column>
//Other columns with fixed widths...