Xrm.Page.ui コントロール (クライアント側の参照)
公開日: 2016年11月
対象: Dynamics CRM 2015
controlオブジェクトには、コントロールの表示や動作を変更して、対応する属性を指定する方法が用意されています。
コントロールには、以下のコレクション、Xrm.Page.ui.controls、Xrm.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()
- 戻り値
種類:Xrm.Page.ui セクション (クライアント側の参照) オブジェクト。
サポート情報のコントロールのメソッド
これらのメソッドは、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. 著作権