Richfaces의 서버 측 데이터 테이탈 가능한 정렬
문제
가변 수의 열과 데이터 스크롤러가있는 데이터 테이블이 있습니다. 서버 측 정렬을 활성화하려면 어떻게해야합니까? 열 헤더를 클릭하는 사용자가 발사하는 것을 선호합니다.
<rich:datascroller for="instanceList" actionListener="#{pageDataModel.pageChange}"/>
<rich:dataTable id="instanceList" rows="10" value="#{pageDataModel}"
var="fieldValues" rowKeyVar="rowKey">
<rich:columns value="#{pageDataModel.columnNames}" var="column" index="idx">
<f:facet name="header">
<h:outputText value="#{column}"/>
</f:facet>
<h:outputText value="#{classFieldValues[idx]}" />
</rich:columns>
</rich:dataTable>
나는 이미 콩에 정렬을 실행하는 방법이 있습니다.
public void sort(int column)
해결책
나는 수동으로 그것을하게되었다. 헤더 텍스트 태그에 지원 태그를 추가합니다.
<h:outputText value="#{column}">
<a4j:support event="onclick" action="#{pageDataModel.sort(idx)}"
eventsQueue="instancesQueue"
reRender="instanceList,instanceListScroller"/>
</h:outputText>
오름차순/내림차순 화살표를 얻기 위해 CSS 클래스를 추가했습니다.
<h:outputText value="#{column}" styleClass="#{pageDataModel.getOrderClass(idx)}" >
<a4j:support event="onclick" action="#{pageDataModel.sort(idx)}"
eventsQueue="instancesQueue"
reRender="instanceList,instanceListScroller"/>
</h:outputText>
다른 팁
이 솔루션에는 매우 우아한 솔루션이 있습니다.
http://livedemo.exadel.com/richfaces-demo/richfaces/sortingfeature.jsf?tab=ex-usage
이 데모는 태그 사용을 피합니다.
데이터 모드는 "수정 가능한"인터페이스를 구현해야합니다.
데이터 가능은 그것을 호출합니다 modify()
서버 사이드 정렬 및 필터링을 수행하는 메소드.
"Rich : Columns"의 "Sortby"속성을 살펴보십시오. 아마도 그것이 당신이 찾고있는 것일 수도 있습니다.Richfaces 참조
목록을 검색 할 때 collection.sort ()를 사용할 수 없습니까?
제휴하지 않습니다 StackOverflow