如何在Dynamic CRM365 View中访问我的网格

时间:2018-06-15 04:52:56

标签: dynamics-crm dynamics-crm-365

我正在开发Dynamic CRM365插件,在我的实体视图中,我需要知道在使用 DOM 检测之前已选择了哪个项目,但是,我无法通过认证,因为所有 DOM 访问都是风险并且需要更换,因此,我检查了 Xrm.Page.getControl Xrm.Page.ui.controls ,但没有运气。

enter image description here

我通过的 Xrm.Page.getControl(" ssl_notesforsigns&#34) Xrm.Page.getControl(" ssl_notesforsign&#34) => return null

我致电 Xrm.Page.ui ui = null。

知道如何通过代码获取网格吗?

由于

1 个答案:

答案 0 :(得分:0)

很高兴听到您不再想要访问DOM。如你所说,这完全不受支持。

表单上子网格的名称是什么?如果您转到表单编辑器并查看子网格的属性,您将看到名称(我猜它不是名为 ssl_notesforsigns )。此名称是您应该使用的名称,可以在调用Xrm.Page.getControl("namehere")以获取网格上下文时使用。

Xrm.Page已被弃用(即使您仍然可以使用它)。相反,您应该通过执行上下文获取对网格上下文的引用。见Client API grid context。对于在表单事件上执行的代码,您可以通过表单上下文获取网格上下文,如下所示:

var formContext = executionContext.getFormContext(); // get the form Context
var gridContext = formContext.getControl("namehere"); // get the grid context

当您引用网格上下文时,可以使用getSelectedRows()获取所选行:

var allSelectedRows = gridContext.getGrid().getSelectedRows();