フォーム イベント(クライアント側の参照)

 

公開日: 2016年11月

対象: Dynamics CRM 2015

すべてのクライアント側のコードは、イベントによって開始されます。Microsoft Dynamics 365 では、特定の関数を、特定のイベントの発生時に実行される JavaScript ライブラリに関連付けます。

すべてのフォーム イベントには、1 つ以上のイベント ハンドラを指定するときに使用するユーザー インターフェイスがあります。 各イベント ハンドラーは、単一の関数を JavaScript ライブラリおよび関数が渡されるパラメータに指定します。

イベント

OnLoad イベント

OnSave イベント

フィールド OnChange イベント

タブ TabStateChange イベント

IFRAME OnReadyStateComplete イベント

検索コントロール PreSearch イベント

OnStageChange イベント

OnStageSelected イベント

Parature サポート情報検索コントロールのイベント

Subgrid OnLoad イベント

OnLoad イベント

OnLoad イベントは、フォームが読み込まれた後に発生します。 このイベントを使用して、フォームの読み込みを禁止することはできません。OnLoad イベントを使用して、フォームが表示され、フィールドにプロパティを設定し、他のページ要素と対話する方法に関するロジックを適用します。

タブレット PC 用 Microsoft Dynamics CRM クライアントが切断されている場合、OnLoad イベントだけが発生します。

注意

更新されたエンティティ のフォームは、レコードを作成する最初の保存の後に、またはそれ以降のどの保存の後にも、ページを再度読み込みません。 したがって、OnLoad イベントは、フォームの最初の読み込み時にのみ発生します。

OnSave イベント

OnSave イベントは、次のタイミングで発生します。

  • 保存する変更済みデータがない時でも、ユーザーがフォームの右下隅の 自動保存ボタン ボタンをクリックする。

  • 保存する変更済みデータがない場合でも、コードが Xrm.Page.data.entity.上書き保存​​ メソッドを実行する。

  • ユーザーがフォームから移動し、フォームに保存されていないデータがある。

  • オートセーブが有効で、データ変更の 30 秒後にフォームに保存されていないデータがある。

  • コードが Xrm.Page.data.上書き保存​​ メソッドを実行し、フォームに保存されていないデータがある。

  • コードが Xrm.Page.data.refresh メソッドを実行して true 値を最初のパラメーターとして渡し、フォームに保存されていないデータがある。

保存を実行するのにクリックされるボタンを確認するには、getSaveMode メソッドを使用します。

イベント引数オブジェクトのpreventDefault メソッドを使用して、保存操作をキャンセルできます。 実行コンテキストの一部である279ca720-e304-4e51-b99f-91722431c2c8#BKMK_GetEventArgsメソッドを使用してアクセスできるpreventDefaultメソッド。 フォーム イベント ハンドラーを構成して、実行コンテキストに渡すようにする必要があります。 詳細については、「実行コンテキストとフォーム イベント パイプラインの使用」を参照してください。

フィールド OnChange イベント

OnChange イベントは、通常、フォーム フィールドのデータが変更されフォーカスが失われるとすると発生します。

注意

ラジオ ボタンまたはチェック ボックスを使用するように設定される、2 つのオプション (ブール値) に適用される、この動作の例外があります。 これらの場合、イベントは、ただちに実行されます。

また、このイベントは、レコードの保存後などの、サーバー上のデータ変更が取得されて、フォームのリフレッシュ時にフィールドが更新されるときにも発生します。

Xrm.Page.data.entity属性を使用します。fireOnChange メソッドでもこのイベントが発生します。

OnChange イベントは、setValue メソッドを使用してプログラム的にフィールドが変更される場合も発生しません。 値を設定したあとに OnChange イベントのイベント ハンドラーを実行したい場合、コードで Xrm.Page.data.entityattribute.fireOnChange メソッドを使用する必要があります。

すべてのフィールドは、OnChangeイベントはをサポートしています。 フィールドのデータは、OnChange イベントの前後に検証されます。

注意

Status フィールドは OnChange イベントをサポートしますが、フィールドはフォームでは読み取り専用で、イベントはユーザーとの対話では発生しません。 別のスクリプトは、フィールドでfireOnChangeメソッドを使用してこのイベントを発生させる場合があります。

タブ TabStateChange イベント

TabStateChange イベントは、ユーザーの操作によってタブの DisplayState が変更されたか、setDisplayState メソッドがコードに適用されたときに発生します。 タブの IFRAME の src プロパティを変更する場合は、このイベントを使用します。

このイベントは、タブレット PC 用 CRMではタブが展開されたりたたまれたりしないので、実行されません。

注意

IFrame を設定する場合。src プロパティを折りたたまれたタブの IFRAME の OnLoad イベントに設定する場合、タブが展開されたときに値が上書きされます。

IFRAME OnReadyStateComplete イベント

OnReadyStateComplete イベントは、IFRAME のコンテンツが読み込まれ、コードにアクセスできることを示します。 スクリプト内の IFRAME コントロールを参照する場合は、このイベントを使用します。

このイベントは、タブレット PC 用 CRM では、IFRAME がサポートされていないので発生しません。

検索コントロール PreSearch イベント

検索コントロールには、レコードを検索するのにコントロールがダイアログを起動する直前に発生する PreSearch イベントがあります。 このイベントに対するイベント ハンドラーに設定する UI はありません。 検索コントロールでaddPreSearchremovePreSearch メソッドを使用して、このイベントのイベント ハンドラーの追加と削除をする必要があります。

このイベントを他の検索コントロールのメソッドおよびイベント と共に使用して、ユーザーが選択する検索結果を検索コントロールが表示する直前に、フォーム データに基づく検索に表示される結果を最新のものに変更します。

OnStageChange イベント

このイベントは、業務プロセス フロー コントロールのステージが変更されると発生します。 このイベントは、ユーザーがユーザー インターフェイスで次のステージまたは前のステージに移動ボタンをクリックするか、開発者がXrm.Page.data.process.moveNext またはXrm.Page.data.process.movePrevious メソッドを使用すと発生します。 このイベントのハンドラーでコードを使用してステージを変更すると、キャンセルできません。

実行コンテキスト オブジェクトは、このイベントのイベント ハンドラーに渡されます。getEventArgs 機能を使用して、次のメソッドを持つオブジェクトを取得できます。

  • getDirection
    ステージ変更の方向を示す"next" または "previous" のいずれかの文字列を返します。

  • getStage
    ステージ オブジェクトを返します。 ナビゲーションが新規エンティティに移動する場合を除き、戻されたステージは目的のステージ オブジェクトつまりアクティブ ステージを表します。 ナビゲーションが新規エンティティに移動する場合は、ステージは移動元のステージつまり以前のアクティブ ステージ オブジェクトを表します。詳細:ステージ メソッド.

Xrm.Page.data.process.addOnStageChange メソッドを使用して、このイベントのイベント ハンドラを追加し、Xrm.Page.data.process.removeOnStageChange メソッドを使用してイベント ハンドラを削除します。詳細:業務プロセス フローのスクリプトを作成する.

OnStageSelected イベント

このイベントは、業務プロセス フロー コントロールのステージが選択されると発生します。 このイベントのハンドラーでコードを使用してステージを選択すると、キャンセルできません。

実行コンテキスト オブジェクトは、このイベントのイベント ハンドラーに渡されます。getEventArgs 機能を使用して、次のメソッドを持つオブジェクトを取得できます。

  • getStage
    選択されたステージを表すステージ オブジェクトを返します。詳細:ステージ メソッド.

Xrm.Page.data.process.addOnStageSelected メソッドを使用して、このイベントのイベント ハンドラを追加し、Xrm.Page.data.process.removeOnStageSelected メソッドを使用してイベント ハンドラを削除します。詳細:業務プロセス フローのスクリプトを作成する.

Parature サポート情報検索コントロールのイベント

Microsoft Dynamics CRM Online 2015 更新プログラム 1 では、Parature と統合されている組織のフォームにのみ追加できる、新しいサポート情報検索コントロールが導入されました。 このコントロールには、開発者がプログラムでイベント ハンドラーを割り当てることができる割当先の 2 つのイベント (OnResultOpened および OnSelection) が含まれています。詳細:Parature サポート情報の検索コントロール (クライアント側の参照)

Subgrid OnLoad イベント

CRM Online 2015 更新プログラム 1 では、イベント ハンドラーをサブグリッドの OnLoad イベントに接続できます。詳細:サブグリッドに対するスクリプトの作成

関連項目

フォーム スクリプトの簡易参照
Microsoft Dynamics CRM 2015 フォームのコードを記述する
Xrm.Page オブジェクト モデルの使用
クライアント側のプログラミング リファレンス
業務プロセス フローのスクリプトを作成する

© 2017 Microsoft. All rights reserved. 著作権