smemo

技術メモです。

【Dynamics】Xrm.Page.ui.navigation アイテムについて(フォームのナビゲーション関連の操作)

まず、ナビゲーションとはこの部分を指します。

フォームのカスタマイズ画面でいうと
f:id:smemo:20170103221506p:plain
実際のフォーム画面でいうと
f:id:smemo:20170103221617p:plain

この部分に関連する操作の中で今回は「setFocus」というメソッドを使ってみます。
https://msdn.microsoft.com/ja-jp/library/gg309606.aspx#BKMK_setFocus

この「setFocus」というメソッドを使うことでナビゲーションをクリックしたときと同じような挙動、つまり関連ビューの表示をすることが可能になります。

実際のコード

var NavigationSample = (function () {
    return {
        SetFocusSample: function () {
            // ナビゲーションアイテムをすべて取得(サンプル)
            Xrm.Page.ui.navigation.items.forEach(
                            function (control, index) {
                                if (control.getId() === "navActivities") {
                                    // 活動関連ビューを表示
                                    Xrm.Page.ui.navigation.items.get("navActivities").setFocus();
                                }
                            }
                        )
        }
    };
})();


実行後の画面
f:id:smemo:20170103222258p:plain

通常だと、フォームの関連メニュークリック>関連ビュー表示という2クリック必要ですがこの機能をコマンドバーなどに実装しておけば1クリックで関連ビューが表示できそうです。(あまり有用ではないかもしれませんが。。)