首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >executionContext对primaryControl

executionContext对primaryControl
EN

Stack Overflow用户
提问于 2020-09-17 21:11:57
回答 1查看 485关注 0票数 1

我在两个场景中使用相同的代码时遇到了问题:

从带状按钮调用revisionRequested

  1. 依次从表单OnLoad调用removeOptions
  2. ,只调用removeOptions .

G 211

下面的代码是我的工作,但我最初尝试的是将primaryControl param从revisionRequested传递给removeOptions,其中我生成了formContext = primaryControl,得到了一个错误。

代码语言:javascript
复制
    function revisionRequested(primaryControl) {
    
        var formContext = primaryControl;
        formContext.getAttribute("statuscode").setValue(100000009);  // Revision Requested
        removeOptions(0, primaryControl);
    
        Xrm.Navigation.openAlertDialog('Your revision request has been been submitted');
    }
    
    function removeOptions(executionContext, primaryControl) {
        var formContext = null;
        executionContext == 0 ? formContext = primaryControl : formContext = executionContext.getFormContext();
    
        var statusCode = formContext.getAttribute("statuscode").getText();
        var statusControl = formContext.getControl("header_statuscode");
    
        if (Xrm.Page.ui.getFormType() !== 1 && statusCode.includes('Revision')) {
            statusControl.removeOption(1);
            statusControl.removeOption(100000000);
            statusControl.removeOption(100000001);
            statusControl.removeOption(100000002);
            statusControl.removeOption(100000003);
            statusControl.removeOption(100000003);
            statusControl.removeOption(100000004);
            statusControl.removeOption(100000005);
            statusControl.removeOption(100000006);
            statusControl.removeOption(100000007);
            statusControl.removeOption(100000008);
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-18 01:47:45

我相信您想要的是JavaScript for removeOptions方法中的多态,一个带有executionContext签名的表单加载使用,另一个带有primaryControl签名要使用的丝带。当然,这两个签名并不相同,在注册事件处理程序时从表单传递执行上下文只能选择将其作为第一个参数发送。

您所做的是在两个不同的地方使用可重用方法的有效解决方法,同时考虑到所有的限制和平台设计。

Read this讨论,以获得更多的理解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63946241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档