2012-11-16 4 views
0

패널의 계산 된 렌더링 된 속성에서 범위 변수와 같은 것을 사용하는 것이 명백한 것 외에 다른 방법으로 패널을 숨길 수 있습니까?동적으로 패널을 숨기고 있습니까?

내가 시도했지만 작동하지 않은 것으로 보입니다 getCompoent("panel1").hide() 같은

뭔가,

답변

6

올바른 방법은 getComponent ("id"). setRendered (false)입니다. getComponent ("id"). setRendered (true)를 통해 다시 표시 할 수 있습니다.

0

다음과 같은 코드를 사용하여이를 달성 할 수는 :

var c = getComponent("YOURPANELNAMEHERE") 
c.toggle() 

전환하면 (대신 쇼의 무엇을 찾고 있습니다/숨는 장소).

0

확장 라이브러리에서 스위치 컨트롤을 사용해 보셨습니까? 그게 당신이 성취하고자하는 일에 도움이 될지 확신하지 못합니다.

1

extlib를 사용할 수있는 경우 xe : dynmaicPanel 컨트롤 ... 표시된 패널 만 구성 요소 트리에 추가되므로 매우 효율적입니다. 렌더링 된 속성 접근 방식을 사용하면 렌더링 된 경우에도 패널이 구성 요소 트리에 추가됩니다. 그릇된.

또한 간단한 동작, 클라이언트 측 또는 서버 측 JavaScript를 사용하여 동적 내용 표시를 코딩 할 수 있습니다. SSJS 통해 CSJS 통해

... ...

XSP.showContent("#{id:dynamicContent1}","keyToPanel1") 

...

var dc=getComponent("dynamicContent1"); 
    dc.show("keyToPanel1") 

또는 SS 간단한 작업 ...

<xe:changeDynamicContentAction 
     for="dynamicContent1" facetName="keyToPanel1"> 
    </xe:changeDynamicContentAction> 
관련 문제