若要使用客户端 API 在对话框中打开主窗体,请调用 Xrm.Navigation.navigateTo 方法。 Xrm.Navigation.navigateTo API 方法将打开对话框,其中包含多个选项,包括大小和位置。
Note
Xrm.Navigation.openForm 方法不支持将主窗体作为对话框打开。
| 示例 | 演示 |
|---|---|
| 打开新记录 | 如何在居中的对话框中打开新帐户窗体,窗口宽度为 50%。 |
| 打开现有记录 | 如何通过指定其 ID 在居中对话框中打开现有帐户记录。 |
| 在侧窗格中打开新记录 | 如何在宽度为 500 像素的右侧对话框中打开新帐户窗体。 |
| 使用回调方法在对话框中打开主窗体 | 如何在保存新记录并关闭对话框后运行回调,以及访问保存的记录的 ID 和名称。 |
打开新记录的示例
在此示例中,对话框将打开用于创建新记录的新帐户窗体。 该对话框在中心内弹出,使用可用窗口的最多 50% 作为从中调用或调用的窗体的模式。
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
};
var navigationOptions = {
target: 2,
width: {value: 50, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
打开现有记录示例
在此示例中,该对话框使用联系人表单上的帐户 ID 值打开现有帐户记录。 将 ID 替换为任何记录 ID 值,以在对话框中打开记录。
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
target: 2,
width: {value: 80, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
在侧窗格示例中打开新记录
在此示例中,对话框将在窗口的右角打开一条新记录。 可以使用像素选项来实现此行为。
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
};
var navigationOptions = {
target: 2,
width: {value: 500, unit:"px"},
position: 2
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
在对话框中打开主窗体的回调方法示例
此示例演示如何在保存记录并关闭对话后使用回调方法调用主窗体对话。
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2
};
var navigationOptions = {
target: 2,
width: {value: 80, unit:"%"},
position: 2
};
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
}
);