Dynamics crm 如何在动态CRM365视图中访问我的网格

Dynamics crm 如何在动态CRM365视图中访问我的网格,dynamics-crm,dynamics-crm-365,Dynamics Crm,Dynamics Crm 365,我正在开发动态CRM365插件,在我的实体视图中,我需要知道选择了哪个项目,然后才使用DOM进行检测,但是,我无法通过认证,因为所有DOM访问都有风险,需要更换,因此,我检查了Xrm.Page.getControl和Xrm.Page.ui.controls,但是运气不好 我通过了Xrm.Page.getControl(“ssl\u notesforsign”)或Xrm.Page.getControl(“ssl\u notesforsign”)=>返回空值 我调用Xrm.Page.ui,ui=n

我正在开发动态CRM365插件,在我的实体视图中,我需要知道选择了哪个项目,然后才使用DOM进行检测,但是,我无法通过认证,因为所有DOM访问都有风险,需要更换,因此,我检查了Xrm.Page.getControl和Xrm.Page.ui.controls,但是运气不好

我通过了Xrm.Page.getControl(“ssl\u notesforsign”)Xrm.Page.getControl(“ssl\u notesforsign”)=>返回空值

我调用Xrm.Page.uiui=null

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


谢谢

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

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

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

var-formContext=executionContext.getFormContext();//获取表单上下文
var gridContext=formContext.getControl(“namehere”);//获取网格上下文
当有对网格上下文的引用时,可以使用以下方法获取选定行:

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

谢谢Henrik,hovever,我在视图中使用的是网格,而不是表单中的子网格,似乎我不能使用Xrm。在视图中,我不想使用表单,因为我的任务假设很简单,只允许用户选择一些项目。有没有办法进入视野网格?对不起,我错过了那个部分。如何调用当前的JavaScript?您是否可以创建一个功能区按钮来触发您的功能,然后使用?谢谢Henrik,它似乎仍然需要一个表单,我想我需要构建一个HTML web资源,然后我可以使用webapi来阅读/构建/操作我自己的网格。