xml – 将下拉菜单添加到CRM 2011功能区
发布时间:2020-12-16 07:58:49 所属栏目:百科 来源:网络整理
导读:我是crm 2011的新手.我找到了有关如何在功能区中添加新按钮的文档.以及如何分组按钮.但我需要功能区中的下拉菜单按钮.我怎样才能做到这一点?我没有找到任何关于此的信息. 谢谢! 这应该让你开始.如果您只需要一个静态菜单,您可以将标签放在Flyout Control中
我是crm 2011的新手.我找到了有关如何在功能区中添加新按钮的文档.以及如何分组按钮.但我需要功能区中的下拉菜单按钮.我怎样才能做到这一点?我没有找到任何关于此的信息.
谢谢!
这应该让你开始.如果您只需要一个静态菜单,您可以将标签放在Flyout Control中并从那里构建菜单.
<FlyoutAnchor Id="Sample.account.form.FlyoutAnchor.Static" Sequence="10" Command="Mscrm.Enabled" Image16by16="/_imgs/placeholders/ribbon_placeholder_16.png" Image32by32="/_imgs/ribbon/newrecord32.png" LabelText="Sample Flyout" Alt="Sample Flyout" TemplateAlias="isv"> <Menu Id="Sample.account.form.Menu"> <MenuSection Id="Sample.account.form.MenuSection" Title="Menu Section Title" Sequence="15"> <Controls Id="Sample.account.form.MenuSection.Controls"> <Button Id="Sample.account.form.Controls.Button.FirstButton" Command="Sample.ButtonCommand.Command" LabelText="First Button" ToolTipTitle="First Button" ToolTipDescription="The first button" TemplateAlias="isv" Sequence="20"/> </Controls> </MenuSection> </Menu> </FlyoutAnchor> 如果要动态生成菜单,可以使用此弹出控件.请注意添加的Populate属性. <FlyoutAnchor Id="Sample.account.form.FlyoutAnchor.Dynamic" Sequence="10" Command="Mscrm.Enabled" Image16by16="/_imgs/placeholders/ribbon_placeholder_16.png" Image32by32="/_imgs/ribbon/newrecord32.png" LabelText="Sample Flyout" Alt="Sample Flyout" PopulateDynamically="true" PopulateQueryCommand="Sample.PopulateDynamicMenu" TemplateAlias="isv" /> 我创建了两个访问javascript函数的命令. DynamicMenu构建菜单,搜索用于确定按下了哪个按钮控件.注意这两个都传递了CommandProperties参数,这对于javascript很重要. <CommandDefinition Id="Sample.PopulateDynamicMenu"> <EnableRules> <EnableRule Id="Mscrm.Enabled" /> </EnableRules> <DisplayRules /> <Actions> <JavaScriptFunction FunctionName="DynamicMenu" Library="$webresource:a_JavaScript_File"> <CrmParameter Value="CommandProperties" /> </JavaScriptFunction> </Actions> </CommandDefinition> <CommandDefinition Id="Sample.SearchCommand"> <EnableRules /> <DisplayRules /> <Actions> <JavaScriptFunction FunctionName="Search" Library="$webresource:a_JavaScript_File"> <CrmParameter Value="CommandProperties" /> </JavaScriptFunction> </Actions> </CommandDefinition> 这是javascript函数: 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> var menuXml = '<Menu Id="Sample.DynamicMenu">' + '<MenuSection Id="Sample.Dynamic.MenuSection" Sequence="10">' + '<Controls Id="Sample.Dynamic.Controls">' + '<Button Id="Sample.account.form.Controls.Button.FirstButton"' + ' Command="Sample.SearchCommand"' + ' LabelText="First Button"' + ' ToolTipTitle="First Button"' + ' ToolTipDescription="The first button"' + ' TemplateAlias="isv"' + ' Sequence="20" />' + '</Controls>' + '</MenuSection>' + '</Menu>'; CommandProperties.PopulationXML = menuXml; } function Search(CommandProperties) { ///<summary>Determines which control was pressed</summary> /// <param name="CommandProperties"> /// Command properties crm parameter sent from the ribbon. object used to read which dynamically generated /// button is selected. /// </param> var controlId = CommandProperties.SourceControlId; switch (controlId) { case 'Sample.account.form.Controls.Button.FirstButton': alert(controlId + ' was pressed!'); break; default: alert('unknown'); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |