2011-01-21 2 views
0

내 응용 프로그램에는 af : 테이블이 있으며 다른 열과 함께 serverName이라는 가짜 열이 있습니다. (psuedo-column에 의해, 그것은 UI 컬럼 일 뿐이며, 대응하는 DB 컬럼은 없다).알파벳순 정렬을 사용하는 방법 <af:table> on procesSort()

Sorting을 위해 sortListener의 processSort (sortColumn, sortOrder) 메소드를 오버라이드했습니다.

그것은 다음과 같이 작동 1) sortColumn에 소요 해 orderBy 절 3를 사용하여 DB 2)) 결과를 가져 오는 쿼리 다음 내 칼럼 (SERVERNAME 때문에, UI

내 경우에는 이제

에 표시)에는 해당 DB 열이 없기 때문에이 방법을 능가하고 ADF의 기본 알파벳 정렬을 사용하고 싶습니다. 어떻게하면됩니까?

sortColum이 serverName과 일치하는 경우이 메서드에서 복귀하려고했지만 아무 것도 정렬하지 않습니다.

답변

0

setSortBy() 방법을 사용하십시오.

Fusion Developers Guide의 this section을 읽으십시오. 메모리

에서

39.5.2 정렬 객체보기 행은 setSortBy() 방법을 사용하여 런타임에 뷰 객체의 행을 정렬합니다. SQL ORDER BY 절과 같은 정렬 식을 전달합니다. 그러나 테이블의 열 이름을 참조하는 대신 뷰 객체의 속성 이름을 사용합니다. 예를 들어, 속성을 포함하는 뷰 객체에 대한 고객의 이름과 DaysOpen, 당신은 호출하여 DaysOpen에 의해 다음, 고객 하강에 의해 먼저 뷰 객체를 정렬 할 수 있습니다 : 당신의 제로 속성 인덱스 위치를 사용할 수

setSortBy("Customer desc, DaysOpen"); 을 대안으로 이 같은 정렬 절 :

setSortBy("3 desc, 2"); setSortBy() 메소드를 호출 한 후, 행 당신이 executeQuery() 메소드를 호출 다음 번에 정렬됩니다.

관련 문제