1

マスター/詳細パターンとして 2 つのペイン (グリッドと詳細) を使用しています。今、「右側の詳細」または「下部の詳細」トグルボタンを作成しようとしています。これを行うには、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 領域に基づいてスプリッターの向きを更新する解決策はありますか?

「水平」や「領域」など、スプリッタウィジェットの属性の一部をプログラムで変更しようとしましたが、実際には代替方向を修正するものは何もありませんでした。

4

1 に答える 1

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);
        }
于 2016-07-05T05:46:56.193 に答える