Crm 2011 How to hide / show the ribbon button using javascript

I am trying to hide / show a button from CRM 2011 Ribbon based on a condition defined in JavaScript . The JavaScript function returns true/false . Therefore, I do not want to change the XML to Hide/Show button.

I tried to do this as shown below, but with no luck. Can anyone suggest me the right approach.

Thanks at Advance

 <RibbonDiffXml> <CustomActions> <CustomAction Id="Email.Form.email.MainTab.Send.CustomAction" Location="Mscrm.Form.email.Send" Sequence="2"> <CommandUIDefinition> <Button Id="Mscrm.Form.email.Send" Command="Mscrm.Form.email.Send_Custom" Sequence="1" Alt="$Resources:Ribbon.Form.email.MainTab.Actions.Send" LabelText="$Resources:Ribbon.Form.email.MainTab.Actions.Send" Image16by16="/_imgs/SFA/SendAsEmail_16.png" Image32by32="/_imgs/SFA/SendAsEmail_32.png" TemplateAlias="o1" ToolTipTitle="$Resources:Mscrm_Form_email_MainTab_Actions_Send_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_Form_email_MainTab_Actions_Send_ToolTipDescription" /> </CommandUIDefinition> </CustomAction> </CustomActions> <Templates> <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates> </Templates> <CommandDefinitions> <CommandDefinition Id="Mscrm.Form.email.Send_Custom"> <EnableRules/> <DisplayRules> <DisplayRule Id="Mscrm.CanWritePrimary" /> <DisplayRule Id="Mscrm.Form.email.InDraftOrFailedState" /> <DisplayRule Id="Mscrm.Form.email.Send.DisplayRule" /> </DisplayRules> <Actions> <JavaScriptFunction FunctionName="HideSendEmailButton" Library="$webresource:sandbox_email.js" /> </Actions> </CommandDefinition> </CommandDefinitions> <RuleDefinitions> <TabDisplayRules /> <DisplayRules> <DisplayRule Id="Mscrm.Form.email.Send.DisplayRule"> <ValueRule Field="new_type" Value="false" InvertResult="false" /> </DisplayRule> </DisplayRules> <EnableRules /> </RuleDefinitions> <LocLabels /> </RibbonDiffXml> 

Javascript

 function HideSendEmailButton() { // Query for full name of the current user var userId = Xrm.Page.context.getUserId(); if(userId == '---some Id---') { return true; } else { return false; } } 
+4
source share
1 answer

You cannot do this (thanks to Microsoft) .. you can use inclusion rules that have a custom rule option where you can use the javascript function:

http://msdn.microsoft.com/en-us/library/gg328073.aspx

But in the extrusion rule you do not have the customrule option:

http://msdn.microsoft.com/en-us/library/gg334209.aspx

So, there is an example of using javascript in the enable / disable rule:

http://howto-mscrm.com/2011/04/how-to-series-6-how-to-use-customrule.html

+8
source

All Articles