gpt4 book ai didi

xml - 将下拉菜单添加到 CRM 2011 功能区

转载 作者:数据小太阳 更新时间:2023-10-29 01:46:50 25 4
gpt4 key购买 nike

我是 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 属性。然后你必须通过 javascript 构建菜单。

<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 构建菜单,Search 用于确定按下了哪个按钮控件。请注意,这两个参数都传递了 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');
}
}

关于xml - 将下拉菜单添加到 CRM 2011 功能区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5819080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com