Как я могу получить активный список в подсетке в Dynamics CRM, используя JavaScript? - PullRequest
0 голосов
/ 20 декабря 2018

Что такое код javascript для получения активного списка, который отображается в подсетке, если подсетка предназначена для отображения более одного списка в дополнительных параметрах с помощью селектора представления.

Что я пытаюсьчтобы достичь относится к списку, который был выбран в подсетке, я хочу назначить новое значение fetchXML в Javascript.

var grid = parent.document.getElementById("mySubGrid");
// my subgrid has more than one list so I need to get the active list
// if (activeList=="all_elements") {fetchxml=activeListXML} else 
// {fetchxml=anotherXML}
grid.control.SetParameter("fetchXML", fetchXml);

Заранее спасибо за вашу помощь

1 Ответ

0 голосов
/ 21 декабря 2018

Я заметил, что вы пытаетесь использовать getElementById;это не поддерживается для клиентского JavaScript.Вместо этого есть пользовательский API, который вы должны использовать

. Вы можете получить текущий Grid Control view, используя следующее

// Remember when configuring this webresource to enable passing Execution Context
function myCustomGridAction(executionContext) 
{
  // Use executionContext to retrieve FormContext
  var formContext = executionContext.getFormContext();

  // use the formContext to access the particular Grid
  var gridContext = formContext.getControl("myGridId");

  // use the gridContext to get the current View
  var viewSelector = gridContext.getViewSelector();

  // use the viewSelector to get the current view
  var view = viewSelector.getCurrentView();

  // view contains the following properties
  // the View's object type code (Saved Query = 1039) or (User Query (4230)
  console.log(view.entityType);

  // the ID of the view
  console.log(view.id);

  // the Name of the view
  console.log(view.name)
}

Дополнительная информация здесь

ПРИМЕЧАНИЕ : если элемент управления подсетки не настроен для отображения селектора представления, вызов этого метода для объекта viewSelector вызовет ошибку.

ЕслиВы хотите, чтобы XML, который использует представление, немного отличался

// Remember when configuring this webresource to enable passing Execution Context
function myCustomGridAction(executionContext) 
{
  // Use executionContext to retrieve FormContext
  var formContext = executionContext.getFormContext();

  // use the formContext to access the particular Grid
  var gridContext = formContext.getControl("myGridId");

  // get the XML used to query records displayed in Grid
  var xml = gridContext.getFetchXml();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...