【问题标题】:How to setRequiredLevel specific control or attribute?如何设置RequiredLevel 特定控件或属性?
【发布时间】:2020-02-18 07:51:49
【问题描述】:

我的任务是检查控件是否可见,如果可见则根据需要进行设置。 在我的表单上,我有两次相同的字段(在不同的部分),所以要检查我的控件可见性,我使用以下代码:

if(Xrm.Page.ui.tabs.get("tab1").sections.get("section").controls.get("attrname").getVisible()) //works
{
              Xrm.Page.ui.tabs.get("tab1").sections.get("section").controls.get("attrname").setRequiredLevel("required"); //doesn't work - error
              Xrm.Page.ui.tabs.get("tab1").sections.get("section").controls.get("attrname").getAttribute("attrname").setRequiredLevel("required");  //doesn't work - error
}

在这种情况下如何设置所需的级别?

【问题讨论】:

  • 您得到了两个答案,一个用于解释错误发生的原因,另一个用于最佳实践。支持/接受对您有帮助的答案并关闭话题。

标签: javascript dynamics-crm dynamics-crm-2016 getattribute


【解决方案1】:

不要在代码中依赖选项卡/部分名称。使用快捷方式获取属性

Xrm.Page.getAttribute("new_attributename");

如果您需要在属性的控件上调用方法,请使用控件数组循环遍历所有控件:

Xrm.Page.getAttribute("new_attributename").controls

那么您的代码将始终有效,只要属性位于表单上的某个位置,并且即使标题中有一个控件,业务流程中有一个控件,并且每个部分中有多个控件,该控件也将起作用。

【讨论】:

    【解决方案2】:

    当您在多个不同的部分中添加相同的属性时,您将获得一个带有序列号的新名称。例如。 attrnameattrname1attrname2 等等。

    因此,当您浏览选项卡/部分时,您必须获得正确的属性来设置属性。无论如何结果是,所有的属性副本都会得到属性集。

    Xrm.Page.ui.tabs.get("tab1").sections.get("section2").controls.get("new_rep1").getAttribute("new_rep1").setRequiredLevel("required");
    

    结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多