Dynamics CRM Online 2015 Update 1 SDK 新機能: フォームスクリプトのサブグリッドの制御 その 3
みなさん、こんにちは。
前回に引き続き Dynamics CRM Online 2015 Update 1 で提供される
フォームスクリプトのサブグリッド制御を紹介します。
前回記事からの続きとなりますので、まだご覧になっていない場合
以下のリンクよりご確認ください。
フォームスクリプトのサブグリッドの制御 その 1
フォームスクリプトのサブグリッドの制御 その 2
今回は ViewSelector オブジェクトを紹介します。
ViewSelector オブジェクト
ViewSelector オブジェクトは Grid オブジェクトより getViewSelector
関数で取得します。ViewSelector オブジェクトは以下の関数を持ちます。
- getCurrentVIew: 現在のビューを取得します。
- setCurrentView: ビューを設定します。
- isVisible: ビューセレクターが表示されているか確認できます。
早速試してみましょう。
isVisible と getCurrentView の利用
1. 以前の記事で作成した Web リソースを開きます。
2. 新しく以下の関数を追加します。
function viewSelectorSample()
{
// viewSelector の取得
var selector = Xrm.Page.getControl("Contacts").getViewSelector();
// ビューの表示状況を確認
if(selector.isVisible())
{
alert("ビューは選択可能です。");
}
else
{
alert("ビューは選択不可能です。");
}
// 現在のビューを確認
var current = selector.getCurrentView();
alert("エンティティタイプ: " + current.entityType + "\nビューの id: " + current.id + "\nビューの名前: " + current.name);
}
3. 保存して、Web リソースを公開します。
4. 取引先企業のフォームの OnLoad に設定します。尚、以前設定した
ものは削除してください。
5. 保存してカスタマイズを公開します。
動作確認
1. 任意の取引先企業レコードを開きます。以下のメッセージが
表示されます。
2. ビューの選択ができない状態になっているので、フォームの
カスタマイズより、取引先担当者サブグリッドのビュー選択を
可能に変更します。
3. カスタマイズを公開後、再度取引先企業レコードを開くと以下の
メッセージが出ます。
setCurrentView の利用
最後に異なるビューをサブグリッドに設定してみます。
1. 設定 | カスタマイズ | システムのカスタマイズより、エンティティ |
取引先担当者 | ビューを選択します。
2. サブグリッドに設定したい任意のビューを開きます。この記事では
「あなたがフォローする」を利用してみます。アドレスバーの
URL より id を抜き出します。
3. 先ほどの Web リソースに新しい関数を追加します。
function changeViewSample()
{
// 新しいビューの作成
var ContactsIFollow = {
entityType: 1039, // SavedQuery
id:"{3A282DA1-5D90-E011-95AE-00155D9CFA02}",
name: "あなたがフォローする 取引先担当者"
};
// ビューの設定
Xrm.Page.getControl("Contacts").getViewSelector().setCurrentView(ContactsIFollow);
}
4. 保存して Web リソースを公開します。
5. 取引先企業フォームのカスタマイズより、任意のフィールドの
OnChange イベントに作成した関数を設定します。この記事では
説明フィールドを利用しました。
6. 変更を保存してカスタマイズを公開します。
動作確認
1. 任意の取引先企業レコードを開きます。取引先担当者のサブグリッド
のビューが既定であることを確認します。
2. 説明列を変更します。取引先担当者のサブグリッドビューが更新
されたことを確認します。
まとめ
今回のリリースではサブグリッドの操作が非常に柔軟になりました。
これによりあるサブグリッドビューの OnLoad イベントを利用して
他のサブグリッドのビューを変更するなど、今までできなかった
事が出来るようになっています。是非お試しください!
- 中村 憲一郎