Я пытаюсь создать три динамически заполненные кнопки ленты FlyoutAnchor на основе следующего ответа SO: Добавить выпадающее меню на ленту CRM 2011
Все три кнопки FlyoutAnchor используют одинаковые PopulateQueryCommand .Функция JavaScript, которая связана с командой (см. Блок кода ниже), получает CommandProperties CrmParameter, переданный в качестве первого аргумента, чтобы иметь возможность идентифицировать всплывающую кнопку, по которой была нажата (и должна быть заполнена динамически добавляемым выпадающим менюitems).
function DynamicMenu(CommandProperties) {
/// <summary>Dynamically generate menu items based on context</summary>
/// <param name="CommandProperties">
/// Command properties crm parameter sent from the ribbon. object used to inject the Menu XML
/// </param>
debugger;
var menuXml = '<Menu Id=\"Sample.DynamicMenu\">' +
// ... Other menu XML stuff goes here
'</Menu>';
CommandProperties.PopulationXML = menuXml; // error here...PopulationXML is undefined... :-(
// ...
}
Функция вызывается красиво и передается аргумент 'CommandProperties' (это не null
и не undefined
), но когда я пытаюсь установить PopulationXML, я получаюошибка, потому что это свойство undefined
.Три других ожидаемых свойства, перечисленных ниже, также undefined
:
- SourceControlId : значение Id элемента управления ленты, который инициировал событие.
- CommandValueId : Строка, отправляемая вместе с событием команды при нажатии кнопки.
- MenuItemId : Ссылка от элемента управления на Id элемента меню.
Когда я передаю второй CrmParameter, например PrimaryEntityTypeName , этот аргумент корректно заполняется / устанавливается.
В чем может быть причина запутанного аргумента CommandProperties
?
Обновление 21-2-2012 : Чтобы завершить, я также попробовал одну кнопкуподход, такой как описанный в Добавить выпадающее меню на ленту CRM 2011 , но это дало мне тот же результат (нет пригодного для использования объекта Commandproperties).Мой CRM-сервер работает под управлением Rollup 6, может быть, это как-то связано с этим?Есть ли другой способ получения такого типа всплывающих меню?Может быть, что-то в чистом JavaScript?Он также должен работать в клиенте Outlook CRM ...