Xrm.Page.ui コントロール (クライアント側の参照)

 

公開日: 2016年11月

対象: Dynamics CRM 2015

controlオブジェクトには、コントロールの表示や動作を変更して、対応する属性を指定する方法が用意されています。

コントロールには、以下のコレクション、Xrm.Page.ui.controlsXrm.Page.ui Section.controls、または Xrm.Page.data.entity Attribute.controlsを使用してアクセスします。Xrm.Page.getControl メソッドは、Xrm.Page.ui.controls.get にアクセスするためのショートカット メソッドです。

このトピックの構文例は、コントロールにアクセスする Xrm.Page.getControl メソッドの使用について示します。 コントロールはメソッドにパスされる引数により異なります。 単一コントロールにアクセスする args パラメーターは、コントロール名またはインデックス名のいずれかです。

フォームのヘッダーに業務プロセス フローのコントロールが表示される場合、業務プロセス フローに表示される各属性のために、さらにコントロールが追加されます。 これらのコントロールは、header_process_<attribute name> などの、一意の名前があります。

注意

これにより、業務プロセス フローのアクティブ ステージのコントロールにだけ、名前でアクセスできるようになります。

フォームのヘッダーに表示されるコントロールはアクセスでき、header_<attribute name> などの一意の名前があります。

属性にバインドされたコントロールの場合、コントロールは一般的に Xrm.Page.data.entity Attribute.controls コレクションを介してアクセスします。

コントロールのプロパティとメソッド

  • 無効
    状態を検出し、getDisabled および setDisabled メソッドを使用して、コントロールを有効または無効にします。

  • getAttribute
    コントロールがバインドされる属性を取得します。

  • getControlType
    コントロールの種類に関する情報を入手します。

  • getName
    コントロール名の取得

  • getParent
    コントロールが含まれるセクション オブジェクトを取得します。

  • サポート情報のコントロールのメソッド
    これらのメソッドは、Microsoft Dynamics CRM Online 組織が Parature と統合されたときに使用できるサポート情報の検索コントロールに対してのみ利用できます。 これらのメソッドは、Microsoft Dynamics CRM Online 2015 更新プログラム 1 で導入されました。

    これらのコントロールの詳細については、「Parature サポート情報の検索コントロール (クライアント側の参照)」を参照してください。

  • ラベル
    getLabel メソッドまたは setLabel メソッドを使用して、コントロールのラベルを取得または変更します。

  • 検索コントロールのメソッドおよびイベント
    addCustomFilter、addCustomView、getDefaultView、setDefaultView メソッドを使用して、いつ検索コントロールの値をセットするかを選択するユーザーのために、結果表示をコントロールします。

    PreSearch イベント 用イベント ハンドラーは、addPreSearch および removePreSearch メソッドを使用して追加または削除できます。

  • 通知
    setNotification および clearNotification メソッドを使用して、コントロールに関するユーザー通知を表示または削除します。

  • OptionSet コントロール メソッド
    addOption、clearOptions、および removeOption メソッドを使用して、OptionSet コントロールに表示されるオプションを変更します。

  • ShowTime
    setShowTime を使用して、日付コントロールに日付の時刻の部分を表示するかどうかを指定します。getShowTime を使用して、日付の時刻の部分が現在表示されているかどうかを決定します。

  • サブグリッド コントロールのメソッド
    CRM Online 2015 更新プログラム 1 を使用する組織の場合、サブグリッド コントロールを操作する新機能があります。詳細:グリッドのオブジェクトとメソッド (クライアント側の参照)

    その他の組織の場合は、refresh メソッドがサブグリッド コントロールで使用できる唯一の固有のメソッドです。 このメソッドは、サブグリッドに表示されるデータを更新します。

  • 表示する
    getVisible および setVisible メソッドを使用して、どのコントロールを表示または非表示にするか決定します。

  • Web リソースおよび IFRAME コントロール メソッド
    getData、setData、getInitialUrl、getObject、setSrc および getSrc メソッドを使用して、Web リソースと IFRAME コントロール間の通信をします。

無効

getDisabled および setDisabled を使用して、コントロールが無効であるか検知し、それを有効または無効にします。

コントロールの種類: 標準、検索、オプション セット。

getDisabled

コントロールが無効かどうかを返します。

Xrm.Page.getControl(arg).getDisabled()
  • 戻り値
    種類: ブール値。 コントロールが無効である場合は true、それ以外の場合は false です。

setDisabled

コントロールが無効かどうかを設定します。

Xrm.Page.getControl(arg).setDisabled(bool)
  • 引数
    種類: ブール値。 コントロールを無効にする場合は true、それ以外の場合は false です。

getAttribute

コントロールがバインドされる属性を戻します。

コントロールの種類: 標準、検索、オプション セット。

Xrm.Page.getControl(arg).getAttribute()

注意

属性にバインドされないコントロール (サブグリッド、Web リソース、および IFRAME) にはこのメソッドはありません。 これらのコントロールのいずれかでこのメソッドを使用しようとすると、エラーがスローされます。

  • 戻り値
    種類: 対象: 属性。

備考

簡易表示コントロール内のコントロール コレクションには、コントロール コレクションが含まれ、これらのコントロールには getAttribute メソッドがあります。 ただし、その属性はエンティティの属性コレクションの一部ではありません。 その属性の値は getValue を使用して取得し、setValue を使用して変更することさえできますが、加えられた変更はエンティティで保存されません。

次のコードは、取引先担当者の mobilephone 属性が、contactQuickForm という名前の簡易表示コントロールを使用する取引先企業のエンティティ フォームに表示されるときに、その値を使用することを示します。 このコードは、属性値が null の場合にコントロールを非表示にします。

var quickViewMobilePhoneControl = Xrm.Page.getControl("contactQuickForm_contactQuickForm_contact_mobilephone");
 if (quickViewMobilePhoneControl.getAttribute().getValue() == null)
 {
  quickViewMobilePhoneControl.setVisible(false);
 }

getControlType

コントロールを分類する値を戻します。

コントロールの種類: すべて。

Xrm.Page.getControl(arg).getControlType()
  • 戻り値
    種類: 文字列

    getControlType の可能な戻り値:

    戻り値

    説明

    standard

    標準のコントロール。

    iframe

    IFRAME コントロール

    lookup

    検索コントロール。

    optionset

    オプション セット コントロール。

    subgrid

    サブグリッド コントロール。

    webresource

    Web リソース コントロール。

    notes

    メモ コントロール。

    timercontrol

    タイマー コントロール。

    kbsearch

    サポート情報検索コントロール。

getName

コントロールに割り当てられた名前を返します。

注意

コントロールに割り当てられた名前は、フォームが読み込まれるまで決定されません。 フォームに変更を加えると、特定のコントロールに割当てわれた名前が変更される場合があります。

コントロールの種類: すべて。

Xrm.Page.getControl(arg).getName()
  • 戻り値
    種類: 文字列。 コントロールの名前です。

getParent

コントロールを含むセクション オブジェクトへの参照を返します。

コントロールの種類: すべて。

Xrm.Page.getControl(arg).getParent()

サポート情報のコントロールのメソッド

これらのメソッドは、Microsoft Dynamics CRM Online 組織が Parature と統合されたときに使用できるサポート情報の検索コントロールに対してのみ利用できます。 これらのメソッドは、Microsoft Dynamics CRM Online 2015 更新プログラム 1 で導入されました。

これらのコントロールの詳細については、「Parature サポート情報の検索コントロール (クライアント側の参照)」を参照してください。

ラベル

getLabel メソッドまたは setLabel メソッドを使用して、コントロールのラベルを取得または変更します。

コントロールの種類: すべて。

getLabel

コントロールのラベルを返します。

Xrm.Page.getControl(arg).getLabel()
  • 戻り値
    種類: 文字列。 コントロールのラベル。

setLabel

コントロールのラベルを設定します。

Xrm.Page.getControl(arg).setLabel(label)
  • 引数
    種類: 文字列。 コントロールの新しいラベル。

検索コントロールのメソッドおよびイベント

addCustomFilter、addCustomView、getDefaultView、およびsetDefaultView メソッドを使用して、いつ検索コントロールの値をセットするかを選択するユーザーのために、結果表示をコントロールします。 また、Lookupコントロールにより PreSearch イベント が表示されるため、addPreSearch および removePreSearch メソッドを使用して、プログラムによりイベント ハンドラーを追加できます。

コントロールの種類: 検索。

addCustomFilter

検索に表示される結果に、add フィルターを使用します。 各フィルターは "AND" 条件として、前に追加したフィルターと結合します。

Xrm.Page.getControl(arg).addCustomFilter(filter, entityLogicaName)
  • 引数

    • filterXml
      種類: 文字列: 適用する fetchXml フィルター要素。 たとえば、次のようになります。

      <filter type="and">
       <condition attribute="address1_city" operator="eq" value="Redmond" />
      </filter>
      
    • entityLogicalName
      種類: 文字列: (オプション) これがセットされる場合、フィルターはそのエンティティの種類にのみ適用されます。 それ以外の場合、返されたすべての種類のエンティティに適用されます。

  • 備考
    詳細:FetchXML schema

    このメソッドは、更新されたエンティティ でのみ使用できます。

    このメソッドは、検索コントロール PreSearch イベント用のイベント ハンドラー内の関数でのみ使用できます。

    次のコード サンプルは、営業案件フォームの [取引先企業] (parentaccountid) 検索用です。Sdk.setParentAccountIdFilter 関数がフォーム Onload イベント ハンドラーに設定されている場合、Sdk.filterCustomAccounts 関数が検索用 PreSearch イベントに追加されます。 結果として、[カテゴリ] (accountcategorycode) の値が [優先する顧客] (1) である取引先企業のみが戻されます。

    var Sdk = window.Sdk || {};
    
    Sdk.filterCustomerAccounts = function () {
        //Only show accounts with the type 'Preferred Customer'
        var customerAccountFilter = "<filter type='and'><condition attribute='accountcategorycode' operator='eq' value='1'/></filter>";
        Xrm.Page.getControl("parentaccountid").addCustomFilter(customerAccountFilter, "account");
    }
    //set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
    Sdk.setParentAccountIdFilter = function () {
        Xrm.Page.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
    }
    

addCustomView

検索ダイアログ ボックスに新しいビューを追加します。

Xrm.Page.getControl(arg).addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, isDefault)
  • 引数

    • viewId
      **種類:**文字列: ビューの GUID 列を表す文字列。

      注意

      この値は保存されず、検索で利用できる他のビュー内で一意である必要があります。 有効ではない GUID 用の文字列は、“{00000000-0000-0000-0000-000000000001}” などの形をとります。 有効な GUID を生成するため、guidgen.exe などのツールを使用することをお勧めします。guidgen.exe ツールは Windows SDKに含まれています。

    • entityName
      種類: 文字列: エンティティの名前。

    • viewDisplayName
      種類: 文字列: ビューの名前。

    • fetchXml
      文字列: ビューの fetchXml クエリ。

    • layoutXml
      **種類:**文字列: ビューのレイアウトを定義する XML。

    • 既定
      **種類:**ブール型: ビューを既定のビューにする必要があるかどうか。

  • 備考
    このメソッドは、[所有者] 検索では使用できません。 所有者検索は、ユーザー所有レコードの割り当てに使用されます。

DefaultView

ユーザーが検索でレコードを選択できるように表示される既定ビューがどのビューかを検知できます。getDefaultView および setDefaultView を使用して既定のビューを変更できます。

getDefaultView

既定の検索ダイアログ ビューの ID 値を返します。

Xrm.Page.getControl(arg).getDefaultView()
  • 戻り値
    種類: 文字列。 既定のビューの ID 値。

setDefaultView

検索コントロール ダイアログ ボックスの既定のビューを設定します。

Xrm.Page.getControl(arg).setDefaultView(viewGuid)
  • 引数
    種類: 文字列。 既定のビューとして設定されるビューの ID。

: この setDefaultViewSample 機能は、 account エンティティ フォームの取引先責任者検索の既定のビューを 自分のアクティブな取引先担当者 に設定します。

function setDefaultViewSample() {
    Xrm.Page.getControl("primarycontactid").setDefaultView("{00000000-0000-0000-00AA-000010001003}");
}​

PreSearch イベント

検索コントロール PreSearch イベント 用イベント ハンドラーは、addPreSearch および removePreSearch メソッドを使用して追加または削除できます。

PreSearch イベントを使用して、ユーザーがレコード検索を開始するときのフォーム データを使用するコントロールのために、どの結果を表示するかをコントロールします。

両方のメソッドは、最初のパラメーターとして 実行コンテキスト (クライアント側の参照) をパスします。

addPreSearch

このメソッドを使用して、ユーザーが検索結果を表示しようとするときの値に基づき、検索に変更を適用します。

Xrm.Page.getControl(arg).addPreSearch(handler)

引数は、検索発生時に検索が結果を提供する直前に実行される関数です。 このハンドラーを使用してその他の検索コントロールのいずれかを呼び出すことができ、検索に表示される結果を改善できます。

removePreSearch

このメソッドを使用して、PreSearch イベントに設定ずみのイベント ハンドラー関数を削除します。

Xrm.Page.getControl(arg).removePreSearch(handler)

通知

setNotification を使用してコントロールに関する通知を表示し、clearNotification を使用してそれを削除します。

setNotification

データが無効であることを示すメッセージをコントロールの近くに表示します。 このメソッドを タブレット PC 用 Microsoft Dynamics CRM で使用するとき、赤い "X" アイコンがコントロールの隣に表示されます。 アイコンをタップすると、メッセージが表示されます。

Xrm.Page.getControl(arg).setNotification(message,uniqueId)

備考

コントロールに通知を設定すると、フォームの保存がブロックされます。

このメソッドは、更新されたエンティティ でのみ使用できます。

引数

  • メッセージ
    種類: 文字列: 表示されるメッセージ。

  • uniqueId
    種類: 文字列: clearNotification を使用時に、このメッセージのみをクリアするために使用する ID。

戻り値

種類: ブール型: メソッドが成功したかどうかを示します。

clearNotification

コントロールに対して既に表示されているメッセージを削除。

Xrm.Page.getControl(arg).clearNotification(uniqueId)

引数

  • uniqueId
    種類: 文字列: setNotification を使用して特定のメッセージ セットをクリアするために使用する ID。

    uniqueId パラメーターが使用されない場合、表示されている現在の通知は削除されます。

備考

このメソッドは、更新されたエンティティ でのみ使用できます。

戻り値

種類: ブール型: メソッドが成功したかどうかを示します。

OptionSet コントロール メソッド

addOption、clearOptions、および removeOption メソッドを使用して、OptionSet コントロールで利用できるオプションを操作します。 これらの関数を使用する例については、サンプル: 依存オプション セット (候補リスト) の作成 を参照してください。

addOption

オプション セット コントロールにオプションを追加します。

Xrm.Page.getControl(arg).addOption(option, [index])

重要

このメソッドは、オプションに追加した値が有効であることを確認しません。 無効なオプションを追加するは、正しく動作しません。 コントロールにバインドされる、特定オプション セット属性に対して定義されたオプションのみを追加します。 属性 getOptions または getOption メソッドを使用し、このメソッドを使用して追加する有効なオプション オブジェクトを取得します。

  • 引数

    • option
      種類: 対象: OptionSet に追加するオプションのオブジェクト。

    • インデックス
      種類: 数: (オプション) 新しいオプションを配置するインデックスの位置。 指定されていない場合、オプションは末尾に追加されます。

clearOptions

オプション セット コントロールからすべてのオプションをクリアします。

Xrm.Page.getControl(arg).clearOptions()

removeOption

オプション セット コントロールからオプションを削除します。

Xrm.Page.getControl(arg).removeOption(number)
  • 引数
    タイプ: 数: 削除するオプション値。

setFocus

コントロールにフォーカスを設定します。

Xrm.Page.getControl(arg).setFocus()

ShowTime

setShowTime を使用して、日付コントロールに日付の時刻の部分を表示するかどうかを指定します。Microsoft Dynamics CRM Online 2015 更新プログラム 1 またはそれ以降を使用している場合は、getShowTime を使用して、日付の時刻の部分が現在表示されているかどうかを決定します。

getShowTime

日付コントロールに日付の時刻の部分が表示されているかどうかを取得します。

コントロールの種類:datetime 属性の標準コントロール。

var showsTime = Xrm.Page.getControl(arg).getShowTime();

備考

このメソッドは、Microsoft Dynamics CRM Online 2015 更新プログラム 1 で導入されました。

setShowTime

日付コントロールで日付の時間の部分を表示するかどうかを指定します。

コントロールの種類:datetime 属性の標準コントロール。

Xrm.Page.getControl(arg).setShowTime(bool)

備考

このメソッドは、更新されたエンティティ でのみ使用できます。 このメソッドは、属性で DateAndTime 形式が使用されている日付コントロールの時刻コンポーネントを表示または非表示にします。 このメソッドは、DateOnly 形式が使用されている場合は無効です。

サブグリッド コントロールのメソッド

Microsoft Dynamics CRM Online 2015 更新プログラム 1 より前のリリースの場合は、サブグリッド コントロールで使用できる唯一のメソッドが refresh です。CRM Online 2015 更新プログラム 1 では、使用できる新機能があります。詳細:グリッドのオブジェクトとメソッド (クライアント側の参照)

refresh

サブグリッドの表示データを最新情報へ更新します。

Xrm.Page.getControl(arg).refresh()

注意

サブグリッドが非同期に読み込まれるので、更新メソッドは OnLoad イベント フォームでは使用できません。CRM Online 2015 更新プログラム 1 に導入された OnLoad イベント サブグリッドの場合は、現在は、サブグリッドが読み込まれたときを検出し、このメソッドをそのイベントのイベント ハンドラーで使用できます。

表示する

getVisible および setVisible メソッドを使用して、どのコントロールを表示または非表示にするか決定します。

getVisible

コントロールが現在表示可能かどうかを示す値を返します。

注意

このコントロールに含まれるセクションまたはタブが表示されない場合も、このメソッドは true を返します。 コントロールが実際に表示可能ですることを確かめるには、含まれる要素の可視性も確認する必要があります。

Xrm.Page.getControl(arg).getVisible()
  • 戻り値
    種類: ブール値。 コントロールが可視である場合は True、それ以外の場合は false です。

setVisible

コントロールが表示可能かどうかを示す値を設定します。

Xrm.Page.getControl(arg).setVisible(bool)
  • 引数
    種類: ブール値。 コントロールを可視にする場合は True、それ以外の場合は false です。

注意

Onload イベント上で実行されるコードで、ユーザーに対してフィールドを選択的に表示するためには、フィールドが既定では表示されないように構成し、setVisible(true) を使用して条件が合うときにフィールドを表示することを推奨します。setVisible(false) を使用して Onload イベント内のフィールドを非表示にすると、非表示になる前に短い間ユーザーに対して表示されます。

setVisible(false) を使用して多数のフィールドを非表示にする場合、フィールドを別々にする代わりに、それらをグループ化してタブまたはセクションにし、そのタブまたはセクションを非表示にできます。 これにより、パフォーマンスを向上させることができます。

Web リソースおよび IFRAME コントロール メソッド

これらのメソッドを使用して、Web リソースと IFRAME コントロール間の通信をします。

注意

これらのメソッドは タブレット PC 用 Microsoft Dynamics CRM では使用できません。

データ

Web リソースには、カスタム データを渡すための data という名前のクエリ文字列パラメーターがあります。getData および setData メソッドは、フォームに追加された Silverlight Web リソースのみで使用できます。詳細:フォームから埋め込み Silverlight Web リソースにデータを渡す方法

Web ページ (HTML) の Web リソースの場合、データ パラメーターが getSrc メソッドから取得、または setSrcメソッドを使用して設定できます。

getData

Silverlight Web リソースに渡すデータ クエリ文字列パラメーターの値を戻します。

Xrm.Page.getControl(arg).getData()
  • 戻り値
    種類: 文字列。 データ値は、Silverlight Web リソース にパスされました。

setData

Silverlight Web リソースに渡すデータ クエリ文字列パラメーターの値を設定します。

Xrm.Page.getControl(arg).setData(string)
  • 引数
    種類: 文字列。Silverlight Web リソース にパスするデータの値。

getInitialUrl

IFRAME コントロールを表示するように設定されている既定の URL を返します。 このメソッドでは、Web リソースでは使用できません。

Xrm.Page.getControl(arg).getInitialUrl()
  • 戻り値
    種類: 文字列。 最初の URL です。

getObject

I-frame または Web リソースを示す、フォームのオブジェクトを戻します。

Xrm.Page.getControl(arg).getObject()
  • 戻り値
    種類: オブジェクト。 オブジェクトはコントロールの種類によって異なります。

    IFRAME は、ドキュメント オブジェクト モデル (DOM) から IFrame 要素を返します。

    Silverlight Web リソースは DOM から オブジェクト 要素を戻し、これは埋め込みSilverlight プラグインを表します。

Src

IFrame または Web リソースには、埋め込みウィンドウに何を表示するか定義する src プロパティがあります。src プロパティは、getSrc および setSrc メソッドを使用して取得または変更できます。

getSrc

IFRAME または Web リソースに表示されている、現在の URL が返されます。

Xrm.Page.getControl(arg).getSrc()
  • 戻り値
    種類: 文字列。 IFRAME または Web リソースの src プロパティを表す URL。

setSrc

IFRAME または Web リソースに表示される URL を設定します。

Xrm.Page.getControl(arg).setSrc(string)
  • 引数
    種類: 文字列: URL。

関連項目

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

© 2017 Microsoft. All rights reserved. 著作権