2012-09-03 5 views
1

두 개의 창 (격자 및 세부 정보)을 마스터 세부 정보 패턴으로 사용하고 있습니다. 이제 오른쪽의 세부 정보 또는 아래쪽의 세부 정보 토글 버튼을 만들려고합니다. 다음과 같이 ContentPane의 영역 속성을 변경하여이 작업을 수행합니다.Dojo dijit layout Splitter가있는 ContentPane - 프로그래밍 방식으로 영역 방향 변경

function toggleDetails() { 
    if(dijit.byId("Details").region == "right") { 
     dijit.byId("Details").set("region", "bottom"); 
     dojo.byId("Details").style.height = "200px"; 
    } 
    else { 
     dijit.byId("Details").set("region", "right"); 
     dojo.byId("Details").style.width = "400px"; 
    } 
    dijit.byId("DetailsParent").resize(); 
} 

창 자체가 잘 변경됩니다. 문제는 세부 정보 창에 스플리터가 있다는 것입니다. 전환 할 때 원래의 방향에서는 스플리터가 괜찮지 만 대체 방향에서 올바르게 렌더링되지 않습니다. contentPane 영역을 기반으로 스플리터 방향을 새로 고치는 모든 솔루션?

나는 "수평"과 "지역"과 같은 일부 스플리터 위젯 속성을 프로그래밍 방식으로 변경하려고 시도했지만 실제로는 대체 방향을 고정하지 않았습니다.

답변

0

가능한 솔루션은이 예에서와 같이로 removeChild로 addChild 이용 될 수

 if (isVertical) { 

      // vertical layout 

      this.ap_MainContainer.removeChild(this.ap_TopContainer); 

      this.ap_TopContainer.region = 'top'; 

      this.ap_MainContainer.addChild(this.ap_TopContainer); 

     } else { 

      // horizontal layout 

      this.ap_MainContainer.removeChild(this.ap_TopContainer); 

      this.ap_TopContainer.region = 'left'; 

      this.ap_MainContainer.addChild(this.ap_TopContainer); 
     } 
관련 문제