2012-09-03 38 views
1

我使用兩個窗格(網格和細節)作爲主細節模式。 現在我正在嘗試創建「右側的詳細信息」或「底部的詳細信息」切換按鈕。我通過更改ContentPane的區域屬性來執行此操作,如下所示:Dojo dijit佈局ContentPane with splitter - 以編程方式更改區域方向

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); 
     } 
相關問題