navigateTo (クライアント API 参照)
指定されたテーブル リスト、テーブル レコード、HTML Web リソース、またはカスタム ページに移動します。
注意
このメソッドは、統一インターフェイス上でのみサポートされます。
構文
Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);
パラメーター
件名 | 型 | 必要 | Description |
---|---|---|---|
pageInput | Object | はい | 移動するページについて入力します。 pageInput パラメーター を参照 |
navigationOptions | Object | いいえ | ページに移動するためのオプション: インラインで開くか、またはダイアログで開くか。 このパラメーターを指定しない場合、ページは既定でインラインで開かれます。 |
successCallback |
function | いいえ | インラインで移動してページへの移動が成功した時、およびダイアログに移動する場合、ダイアログを閉じる時に実行する関数。 |
errorCallback |
Function | いいえ | 処理が失敗したときに実行する関数。 |
pageInput パラメーター
オブジェクト定義は、移動先のページの種類に応じて変わります: エンティティ リスト、エンティティ レコード、ダッシュボード、HTML Web リソース、またはカスタムページ。
エンティティ リスト
エンティティ リスト オブジェクトには、次の値が含まれています。
件名 | タイプ | Description |
---|---|---|
pageType |
String | entitylist を指定します。 |
entityName |
String | リスト コントロールに読み込むテーブルの論理名。 |
viewId |
String | (オプション) 読み込むビューの ID。 指定しない場合は、テーブルの既定のメイン ビューに移動します。 |
viewType |
String | (オプション) 読み込むビューのタイプ。 savedquery またはuserquery を指定します。 |
エンティティ レコード
エンティティ レコード オブジェクトには、次の値が含まれています。
件名 | タイプ | Description |
---|---|---|
pageType |
String | entityrecord を指定します。 |
entityName |
String | フォームを表示するテーブルの論理名。 |
entityId |
String | (オプション) フォームを表示するテーブル レコードの ID。 この値を指定しない場合、フォームは作成モードで開かれます。 |
createFromEntity |
参照 | (オプション) マップした列の値に基づいて既定値を提供するレコードを指定します。 ルックアップ オブジェクトには、entityType、ID、名前 (オプション) などの文字列プロパティがあります。 |
data |
Object | (オプション) 追加のパラメーターをフォームに渡すディクショナリ オブジェクト。 このパラメータは、新しいフォームに設定されたデフォルト値を持つテーブル列 (フォームに渡されたパラメーターを使用して列の値を設定する を参照してください)、または |
formId |
String | (オプション) 表示するフォーム インスタンスの ID。 |
isCrossEntityNavigate |
ブール型 | (オプション) クロステーブル ビジネス プロセス フローを使用して、フォームに別のテーブルから移動されるかどうかを示します。 |
isOfflineSyncError |
ブール型 | (オプション) オフライン同期エラーがあるかどうかを示します。 |
processId |
String | (オプション) フォームに表示するビジネス プロセス プロセスの ID。 |
processInstanceId |
String | (オプション) フォームに表示するビジネス プロセス インスタンスの ID。 |
relationship |
Object | (オプション) フォームに関連レコードを表示する関係オブジェクトを定義します。 リレーションシップ を参照してください。 |
selectedStageId |
String | (オプション) ビジネス プロセス インスタンスで選択したステージの ID。 |
tabName |
String | (オプション) フォームのタブにフォーカスを設定します。 |
関係オブジェクト
関係オブジェクトは、エンティティ レコードで使用され、次の値が含まれます。
件名 | タイプ | Description |
---|---|---|
attributeName |
String | 関連付けに使用される列の名前。 |
name |
String | リレーションシップの名前です。 |
navigationPropertyName |
String | この関係のナビゲーション プロパティの名前。 |
relationshipType |
回数 | リレーションシップ タイプ。 次のいずれかの値を指定します: 0:OneToMany、1:ManyToMany。 |
roleType |
回数 | リレーションシップのロール タイプ。 次のいずれかの値を指定します: 1:Referencing、2:AssociationEntity。 |
ダッシュボード
ダッシュボード オブジェクトには、次の値が含まれています。
件名 | タイプ | Description |
---|---|---|
pageType |
String | dashboard を指定します。 |
dashboardId |
String | ロードするダッシュボードの ID。 ID を指定しない場合は、規定のダッシュボードに移動します。 |
HTML Web リソース
HTML Web リソースには、次の値が含まれています。
件名 | タイプ | Description |
---|---|---|
pageType |
String | webresource を指定します。 |
webresourceName |
String | 読み込む Web リソースの名前。 |
data |
String | (オプション) Web リソースに渡すデータ。 |
カスタム ページ
カスタム ページ オブジェクトには、次の値が含まれています。
件名 | タイプ | Description |
---|---|---|
pageType |
String | custom を指定します。 |
name |
String | 開くカスタムページの論理名です。 |
entityName |
String | (オプション) Param("entityName") を介してカスタム ページで使用できるようにするテーブルの論理名です。 |
recordId |
String | (オプション) Param("recordId") を介してカスタム ページで使用できるようにするテーブル レコードの ID。 |
navigationOptions パラメーター
navigationOptions オブジェクトには、次の値が含まれています。
件名 | タイプ | Description |
---|---|---|
target |
回数 | インラインでページを開くには 1 を指定し、ダイアログでページを開くには 2 を指定します。また、残りの値 (幅、高さ、位置) は、この値に 2 を指定した (ダイアログでページを開く) 場合にのみ有効です。 注: エンティティ リストはインラインでのみ開くことができます。エンティティ レコードと Web リソースは、インラインまたはダイアログで開くことができます。 |
width |
数値またはオブジェクト | (オプション) ダイアログの幅。 ピクセル単位で幅を指定するには、数値を入力するだけです。 パーセンテージで幅を指定するには、次のプロパティを持つ種類のオブジェクト SizeValue を指定します。 - value : 数値タイプの数値。- unit : 文字列型の測定単位。 % またはpx を指定します。 既定値は px 。 |
height |
数値またはオブジェクト | (オプション) ダイアログの高さ。 ピクセル単位で高さを指定するには、数値を入力するだけです。 パーセンテージで幅を指定するには、次のプロパティを持つ種類のオブジェクト SizeValue を指定します。 - 値: 数値タイプの数値。 - 単位: 文字列型の測定単位。 % またはpx を指定します。 既定値は px 。 |
position |
回数 | (オプション) 中央にダイアログを開くには 1 を指定し、端にダイアログを開くには 2 を指定します。 既定は 1 (中央) です。 |
title |
String | (オプション) 中央または側面のダイアログの上部にあるダイアログのタイトル。 |
戻り値
Promise を返します。 Promise の解決時に渡される値は、ターゲットに依存しています。
inline: Promise はすぐに解決され、値を返しません。
dialog: ダイアログを閉じるときに Promise が解決されます。
pageType
=entityRecord
で、作成モードでフォームを開いたときにのみ、オブジェクトは渡されます。 オブジェクトには、作成されるテーブル レコードを識別するための以下のプロパティと共にsavedEntityReference
配列があります。- entityType: テーブルの論理名。
- id: レコードの GUID 値を表す文字列。
- name: 表示または作成されるレコードのプライマリ列値。
例
例 1: アカウント リストを開く
var pageInput = {
pageType: "entitylist",
entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
function success() {
// Run code on success
},
function error() {
// Handle errors
}
);
例 2: ダイアログ内で既存のアカウント レコードを開く
var pageInput = {
pageType: "entityrecord",
entityName: "account",
entityId: "5a57f2c3-5672-ea11-a812-000d3a339706" //replace with actual ID
};
var navigationOptions = {
target: 2,
height: {value: 80, unit:"%"},
width: {value: 70, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success() {
// Run code on success
},
function error() {
// Handle errors
}
);
例3: ダイアログ内の作成モードでアカウント フォームを開く
var pageInput = {
pageType: "entityrecord",
entityName: "account"
};
var navigationOptions = {
target: 2,
height: {value: 80, unit:"%"},
width: {value: 70, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success(result) {
console.log("Record created with ID: " + result.savedEntityReference[0].id +
" Name: " + result.savedEntityReference[0].name)
// Handle dialog closed
},
function error() {
// Handle errors
}
);
例4: ダイアログで HTML Web リソースを開く
var pageInput = {
pageType: "webresource",
webresourceName: "new_sample_webresource.htm"
};
var navigationOptions = {
target: 2,
width: 500, // value specified in pixel
height: 400, // value specified in pixel
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success() {
// Run code on success
},
function error() {
// Handle errors
}
);
関連記事
Xrm.Navigation
カスタムページへの移動とカスタムページからの移動 (プレビュー)
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。