navigateTo (クライアント API 参照)
指定されたテーブル リスト、テーブル レコード、HTML Web リソース、またはカスタム ページに移動します。
注意
このメソッドは、統一インターフェイス上でのみサポートされます。
構文
Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);
パラメーター
| 件名 | 型 | 必要 | 内容 |
|---|---|---|---|
| pageInput | オブジェクト | 有効 | 移動するページについて入力します。 オブジェクト定義は、移動先のページの種類に応じて変わります: エンティティ リスト、エンティティ レコード、ダッシュボード、HTML Web リソース、またはカスタムページ。 |
| navigationOptions | オブジェクト | 番号 | ページに移動するためのオプション: インラインで開くか、またはダイアログで開くか。 このパラメーターを指定しない場合、ページは既定でインラインで開かれます。 |
| successCallback | 関数 | 番号 | インラインで移動してページへの移動が成功した時、およびダイアログに移動する場合、ダイアログを閉じる時に実行する関数。 |
| errorCallback | 関数 | 番号 | 処理が失敗したときに実行する関数。 |
pageInput パラメーター
エンティティ リスト
エンティティ リスト オブジェクトには、次の値が含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| pageType | 文字列 | 「entitylist」を指定します。 |
| entityName | 文字列 | リスト コントロールに読み込むテーブルの論理名。 |
| viewId | 文字列 | (オプション) 読み込むビューの ID。 指定しない場合は、テーブルの既定のメイン ビューに移動します。 |
| viewType | 文字列 | (オプション) 読み込むビューのタイプ。 「savedquery」または「userquery」を指定します。 |
エンティティ レコード
エンティティ レコード オブジェクトには、次の値が含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| pageType | 文字列 | 「entityrecord」を指定します。 |
| entityName | 文字列 | フォームを表示するテーブルの論理名。 |
| entityId | 文字列 | (オプション) フォームを表示するテーブル レコードの ID。 この値を指定しない場合、フォームは作成モードで開かれます。 |
| createFromEntity | 検索 | (オプション) マップした列の値に基づいて既定値を提供するレコードを指定します。 ルックアップ オブジェクトには、entityType、ID、名前 (オプション) などの文字列プロパティがあります。 |
| データ | オブジェクト | (オプション) 追加のパラメーターをフォームに渡すディクショナリ オブジェクト。 パラメーターが無効の場合、エラーが発生します。 フォームにパラメータを渡す方法の詳細については、フォームに渡すパラメーターを使用して列の値を設定するおよびカスタム クエリストリング パラメーターが許可されるフォームの構成を参照してください。 |
| formId | 文字列 | (オプション) 表示するフォーム インスタンスの ID。 |
| isCrossEntityNavigate | ブール値 | (オプション) クロステーブル ビジネス プロセス フローを使用して、フォームに別のテーブルから移動されるかどうかを示します。 |
| isOfflineSyncError | ブール値 | (オプション) オフライン同期エラーがあるかどうかを示します。 |
| processId | 文字列 | (オプション) フォームに表示するビジネス プロセス プロセスの ID。 |
| processInstanceId | 文字列 | (オプション) フォームに表示するビジネス プロセス インスタンスの ID。 |
| relationship | オブジェクト | (オプション) フォームに関連レコードを表示する関係オブジェクトを定義します。 |
| selectedStageId | 文字列 | (オプション) ビジネス プロセス インスタンスで選択したステージの ID。 |
| tabName | 文字列 | (オプション) フォームのタブにフォーカスを設定します。 |
関係オブジェクト
関係オブジェクトは、エンティティ レコードで使用され、次の値が含まれます。
| 名前 | タイプ | 説明 |
|---|---|---|
| attributeName | 文字列 | 関連付けに使用される列の名前。 |
| 名前 | 文字列 | リレーションシップの名前です。 |
| navigationPropertyName | 文字列 | この関係のナビゲーション プロパティの名前。 |
| relationshipType | 数値 | リレーションシップ タイプ。 次のいずれかの値を指定します: 0:OneToMany、1:ManyToMany。 |
| roleType | 数値 | リレーションシップのロール タイプ。 次のいずれかの値を指定します: 1:Referencing、2:AssociationEntity。 |
ダッシュボード
ダッシュボード オブジェクトには、次の値が含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| pageType | 文字列 | 「dashboard」を指定します。 |
| dashboardId | 文字列 | ロードするダッシュボードの ID。 ID を指定しない場合は、規定のダッシュボードに移動します。 |
HTML Web リソース
HTML Web リソースには、次の値が含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| pageType | 文字列 | 「webresource」を指定します。 |
| webresourceName | 文字列 | 読み込む Web リソースの名前。 |
| データ | 文字列 | (オプション) Web リソースに渡すデータ。 |
カスタム ページ
カスタム ページ オブジェクトには、次の値が含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| pageType | 文字列 | 「custom」を指定します。 |
| 名前 | 文字列 | 開くカスタムページの論理名です。 |
| entityName | 文字列 | (オプション) Param("entityName") を介してカスタム ページで使用できるようにするテーブルの論理名。 |
| recordId | 文字列 | (オプション) Param("recordId") を介してカスタム ページで使用できるようにするテーブル レコードの ID。 |
navigationOptions パラメーター
navigationOptions オブジェクトには、次の値が含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| ターゲット | 数値 | インラインでページを開くには 1 を指定し、ダイアログでページを開くには 2 を指定します。 また、残りの値 (幅、高さ、位置) は、この値に 2 を指定した (ダイアログでページを開く) 場合にのみ有効です。注: エンティティ リストはインラインでのみ開くことができます。エンティティ レコードと Web リソースは、インラインまたはダイアログで開くことができます。 |
| 幅 | 数値またはオブジェクト | (オプション) ダイアログの幅。 ピクセル単位で幅を指定するには、数値を入力するだけです。 パーセンテージで幅を指定するには、次のプロパティを持つ種類のオブジェクト SizeValue を指定します。
|
| 高さ | 数値またはオブジェクト | (オプション) ダイアログの高さ。 ピクセル単位で高さを指定するには、数値を入力するだけです。 パーセンテージで幅を指定するには、次のプロパティを持つ種類のオブジェクト SizeValue を指定します。
|
| 位置 | 数値 | (オプション) 中央にダイアログを開くには 1 を指定し、端にダイアログを開くには 2 を指定します。 既定は 1 (中央) です。 |
| タイトル | 文字列 | (オプション) 中央または側面のダイアログの上部にあるダイアログのタイトル。 |
戻り値
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
}
);
関連トピック
カスタムページへの移動とカスタムページからの移動 (プレビュー)
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示