サブグリッドに対するスクリプトの作成

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

データがサブグリッドに読み込まれたときにスクリプトを実行するイベント ハンドラーを設定できます。 これにより、選択されたビューを変更して、グリッドに表示されるデータへの参照を取得するメソッドが提供されます。

重要

この機能は、CRM Online 2015 更新プログラム 1 および CRM 2016 (設置型) で導入されました。

このトピックの内容

Subgrid OnLoad イベント

サブグリッド オブジェクト モデル

Subgrid OnLoad イベント

サブグリッドは非同期にフォームから読み込みをするので、フォームのOnLoad イベントで、サブグリッド内のデータに信頼性を持ってアクセスできません。 しかし、サブグリッドの OnLoad イベントに対してイベント ハンドラーを設定することはできます。 このイベントは、グリッド内のデータが更新されるたびに発生します。これには、ユーザーがグリッドの列を並べ替えるときも含まれます。

このイベントに対して新しいイベント ハンドラーを追加するためのユーザー インターフェイスはありません。したがって、これを行う場合は、別のイベント (通常は、フォーム OnLoad イベント) でコードを使用して、 GridControl.addOnLoad メソッドを使用する必要があります。 このイベントのイベント ハンドラーを取り外すには、GridControl.removeOnLoad メソッドを使用します。

サブグリッド オブジェクト モデル

下図は、フォーム内のサブグリッドからアクセスできるオブジェクトを示しています。

グリッド コントロール オブジェクト

このコンテキストでは、サブグリッド コントロールを GridControl と呼びます。Xrm.Page.ui コントロールとしては、サブグリッドは、refresh メソッドに加えて、すべてのコントロールで使用できるすべてのメソッドが備わっています。

GridControl は、SelectedControl パラメーターが選択されているときに使用できる <CrmParameter> (RibbonDiffXml) を使用して、コマンド バー、あるいはリボン アクションまたはルールに渡される同じオブジェクトです。

ViewSelector でビューを変更

ビュー セレクターを表示するようにサブグリッドが構成されているとき、現在のビューを取得、または設定できます。GridControl.getViewSelector メソッドを使用して、ビュー セレクターにアクセスし、ViewSelector.getCurrentViewgetCurrentViewViewSelector.setCurrentView を使用して、検索オブジェクトで、現在のビューを取得または設定します。

グリッドからデータを取得

GridControl.getGrid メソッドを使用して、グリッドにアクセスします。Grid.getRows メソッド、または Grid.getSelectedRows メソッドを使用して、GridRow オブジェクトのコレクションを取得します。 次に、GridRow.getDataGridRowData.getEntity、および GridEntity.getEntityReference メソッドを 1 つに連結して、行内の各レコードの参照にアクセスできます。

関連項目

グリッド (読み取り専用) のオブジェクトとメソッド (クライアント側の参照)
コレクション (クライアント側の参照)
Microsoft Dynamics 365 フォームのコードを記述する
クライアントの Microsoft Dynamics 365 の拡張

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権