당있는 명령은 내가이 간단한 페이지가 있습니다. 외부는 작동 중입니다.Primefaces DataTable에, 게으른 로딩 및 행
내가 value
및 lazy
이런 식으로 변경하는 경우 : 마법처럼
<h:form id="form">
<p:dataTable value="#{testBean.unitTypeModel.load(0, 10, null, null, null)}" var="elem" lazy="false" rows="10">
<p:column headerText="class">#{elem.class.simpleName}</p:column>
<p:column headerText="code">#{elem.code}</p:column>
<p:column headerText="description">#{elem.description}</p:column>
<p:column headerText="action">
<p:commandButton action="test2" icon="ui-icon ui-icon-wrench" value="edit">
<f:setPropertyActionListener target="#{testBean.selection}" value="#{elem}"/>
</p:commandButton>
</p:column>
</p:dataTable>
<p:commandButton action="test2" icon="ui-icon ui-icon-wrench"/>
</h:form>
CommanButton
DataTable
내부 작품.
누군가가 그 이유를 알고 있습니까?
버그입니까?
내가
- 에 글래스 피시 해요 3.1.2
- JSF 2.1.11 (인 Mojarra)
- PrimeFaces 3.4-SNAPSHOT
이 완전히 사실이 아니다를 세션을'@ViewScoped'를 사용하여 처리 할 수 있지만'@ RequestScoped'를 사용할 수도 있습니다. 요점은'isRowAvailable()'메소드가'APPLY_REQUEST_VALUES'에서 평가되고'pageSize' 필드가 0보다 큰 값을 가져야 할 때 true를 리턴해야한다는 것입니다. 나는'load (...) '를 호출하고 그 결과를'setWrappedData()'에, 두 번째 메소드'setRowIndex (int rowIndex)'에 두 개의 메소드를 오버로딩하면서'LazyDataModel'을 확장하여이 작업을 수행했습니다. ''pageSize'를 기본값으로 설정합니다. – uvo