2014-09-04 3 views
3

클라이언트 메모 응용 프로그램이 있고 주 양식에 다음 수식을 갖는 dialogList가 있습니다. (C21331 : 312321C는 실제로 복제본 ID이며이 번호는 임의의 숫자입니다.)xpages 목록에 @ 공식을 추가

_view := "vw1"; 
_vieww :="vw1"; 



x :[email protected](@Unique (@DbColumn("" : "NoCache" ; C21331:312321C; _view; 1));[Ascending]); 
y :[email protected] (@DbColumn("" : "NoCache" ; @DbName ; _vieww ; 1)); 

y:x 

내 콤보 박스 계산 값에서 위 코드를 어떻게 사용합니까? 나는 시도했다 :

var _view = "vw1"; 
    var _vieww= "vw2"; 

    db = new Array(@Sort(@Unique (@DbColumn("" : "NoCache" , C21331:312321C, _view, 1));[Ascending]); 

    db1 = new Array(@Unique (@DbColumn("" : "NoCache" ; @DbName ; _vieww ; 1))); 

    db:db1 

xpages에서이 기능을 어떻게 수행 할 수 있습니까? 시간 내 줘서 고마워.

답변

4

배열을 정렬하기 위해 사용 .sort() (@Sort이 SSJS에서 구현되지 않음)과 .concat() 두 배열이나 배열과 문자열을 연결하는 :

var a = [].concat(@Unique(@DbColumn(...))).sort(); 
var b = @Unique(@DbColumn(...)); 
return a.concat(b); 
+1

감사합니다, 그것을 작동합니다. 당시에는 이미 @List (@DbColumn (...), @ DbColumn (...))로 해결했지만 제안은 좀 더 우아합니다. –

+1

이상하게도 이상하게 들리네 : [TypeError] 'String [JavaScript Object]'유형의 객체에서 'sort()'메서드 호출 오류 - var a = @Unique (@DbColumn (dbname, "vwNumeCompanii", 0)).종류(); // 여기서 var dbname = session.getServerName() + "!!" + "XPAgenda.nsf"; –

+0

OK, @DbColumn()은 하나의 값만 문자열로 반환합니다. 따라서 sort()를 호출하기 전에 배열이 있는지 확인해야합니다. 그에 따라 내 대답을 업데이 트되었습니다. –