2012-05-07 1 views
0

사용자 정의 컨트롤에서 반복 컨트롤을 사용하여 벡터를 반복합니다. 이 반복 제어에는 호출기가 바인딩되어 있습니다. 호출기가 컨트롤의 첫 페이지 또는 마지막 페이지에있을 때 이전 및 다음 링크를 숨기려고합니다.호출기 제어. 이전/다음 프로그램 숨기기

이전의 것을 쉽게 숨기려면 >> 렌더링 된 속성을 getpageCount()> 0에 추가하십시오. 다음 링크는 약간의 문제입니다. 호출기 클래스에는 getCurrentPage() 메서드가 없습니다. 그러므로 나는 현재 호출기에있는 페이지를 찾을 수 없다.

SSJS를 사용하여 호출기에서 다음/이전 링크를 숨기거나 표시하는 방법에 대한 수정/아이디어가있는 사람이 있습니까?

답변

3

벡터의 항목 수 반복 제어의 한 페이지 (B) 에 표시 할 항목 수를 알 수 있습니다. 따라서 총 페이지 수는 mod (A/B) +1. 해당 페이지에있는 경우 다음 단추를 숨길 수 있습니다.

Mod (모듈)은 소수 부분 또는 정수 나누기를 건너 뛸 것을 의미합니다.

+1

의견을 보내 주셔서 감사합니다. 나는 modulo 방법을 건너 뛰고 페이지가 어느 페이지에 있는지 물어 보길 바랬다. 이제는 호출기에 피드를해야하고 똑같은 벡터로 반복을 수행해야합니다> 성능이 저하 될 수 있습니까? – jjtbsomhorst

0
document.getElementById("#id:pager2}").firstChild.nextSibling.lastChild.lastChild.textContent) 

위의 방법을 시도해보십시오. 실제로 위의 것은 마지막 요소의 그룹 값의 가치를 얻기위한 것입니다.

나는 DOM 트리를 조작 SSJS보다 더 쉽게이 자바 스크립트 클라이언트 측,

Here, We have <previous><Group><Next>, 

를 사용하는 것은 그래서 우리는 두 번째 요소를 얻을 필요가 .And는 span 태그이라고 생각한다. 나는 lasChild의 lastChild를 얻고있다.

참고 : setRendered (true)로 숨기지 마십시오. 왜냐하면 DOM 트리는 그 자식을 잃어 버리게되기 때문입니다. display : none 속성을 사용하십시오.