Как получить все элементы управления из вкладки - PullRequest
0 голосов
/ 23 мая 2018

Мне нужно получить все элементы управления на вкладке в моей форме, я пытался использовать эту опцию, которую я нашел в Интернете, но она никому не работала?

var tabs = Xrm.Page.ui.tabs.get(); 
var fieldList = new Array();
for (var i in tabs)
{
  var tab = tabs[i];
  if(tab.getName() == "tab_2")
  {
    tab.sections.forEach(function (section, sectionIndex)
    {
      section.controls.forEach(function (control, controlIndex)
      {
        switch (control.getControlType())
        {
          case "standard":
          case "lookup":
          case "optionset":
            var attribute = control.getAttribute();

            if (attribute != null)
            {
              fieldList.push(attribute.getName());
            }
            break;
          }
        });
      });
    }
  }
} 

1 Ответ

0 голосов
/ 24 мая 2018

Я только что попробовал код, и он работает.Он ищет вкладку с именем tab_2 , а затем получает все элементы управления на этой вкладке и добавляет control.name в массив (fieldList)

В результате получается простой массив имен элементов управления,Когда я запустил это в своей контактной форме (с учетом Tab Name), я получил следующие результаты:

[
    "fullname",
    "nickname",
    "employeeid",
    "jobtitle",
    "parentcustomerid",
    "emailaddress1",
    "telephone2",
    "telephone1",
    "mobilephone",
    "fax",
    "address1_composite",
    "preferredsystemuserid",
    "familystatuscode",
    "spousesname",
    "birthdate",
    "description",
    "ownerid",
    "createdon"
]

Если это не работает для вас, я предлагаю следующее:

  • Проверьте имя вкладки CRM
  • В зависимости от того, где вы ее используете (например, на веб-ресурсе или в консоли разработчика), вам может потребоваться изменить контекст кода
...