2012-05-09 42 views
3

我目前正试图根据窗体上复选框的值显示/隐藏自定义功能区按钮。CRM 2011功能区DisplayRule ValueRule不能正常工作

我设法让我的XML与我创建的<EnableRule>工作正常,但一旦我尝试使用<DisplayRule>,有问题的按钮,无论什么价值,我把到new_is_trading场消失。

这里是我下面的XML:

 <CommandUIDefinition> 
      <Group Id="Mscrm.Form.account.CustomGroup.Group" 
       Command="Mscrm.Form.account.CustomGroup.Command" 
       Title="Client Commands" 
       Sequence="51" 
       Template="Mscrm.Templates.Flexible2"> 

       <Controls Id="Mscrm.Form.account.CustomGroup.Controls"> 
       <Button Id="Mscrm.Form.account.CustomGroup.Button.A" 
         Command="Mscrm.Form.account.CustomGroup.Button.A.Command" 
         Sequence="10" 
         LabelText="Custom Button" 
         ToolTipTitle="Description" 
         ToolTipDescription="Should only be shown if this account is trading" 
         TemplateAlias="o1" 
         Image16by16="/_imgs/ribbon/CustomEntity_16.png" 
         Image32by32="/_imgs/ribbon/CustomEntity_32.png" /> 
      </Controls> 
      </Group> 
     </CommandUIDefinition> 

然后在我的规则定义:

<RuleDefinitions> 
     <TabDisplayRules /> 
     <DisplayRules> 
     <DisplayRule Id="Mscrm.Form.account.CustomDisplayRules.DisplayIfClient"> 
      <ValueRule Field="new_is_trading" Value="true" /> 
     </DisplayRule> 
     </DisplayRules> 
     <EnableRules> 
     <EnableRule Id="Mscrm.Form.account.CustomEnableRules.EnableIfClient"> 
      <ValueRule Field="new_is_trading" Value="true" /> 
     </EnableRule> 
     </EnableRules> 
    </RuleDefinitions> 

再次,我EnableRule工作正常,但我不DisplayRule确实由于某些原因!

+0

确定显示规则检查在页面第一次加载后触发?我在展示规则的展示次数之下只能进行页面加载,之后您可以简单地启用/禁用它们。 –

+0

我已经尝试打开记录wherte的值都是true和false,但在任何情况下都不会按钮显示 – user1173691

回答

4

使用1(真)0(假)比较布尔值 - 这将工作。 我有同样的问题。

-1

我不确定你是如何启用工作,但这是我正在使用的工作命令定义的一个例子。这不使用属性的值,但我知道下面的代码工作正常,看来你缺少你创建的规则的参考...

<CommandDefinitions> 
     <CommandDefinition Id="Mscrm.Isv.account.grid.ShowMap.Command"> 
     <EnableRules> 
      <EnableRule Id="Mscrm.Isv.account.Clients.EnableRule" /> 
      <EnableRule Id="Mscrm.Isv.account.grid.OneSelected.EnableRule" /> 
     </EnableRules> 
     <DisplayRules> 
      <DisplayRule Id="Mscrm.Isv.account.Clients.DisplayRule" /> 
     </DisplayRules> 
     <Actions> 
      <JavaScriptFunction Library="$webresource:way_showBingMapAll.js" FunctionName="showBingMap" /> 
     </Actions> 
     </CommandDefinition> 
    </CommandDefinitions> 
+0

您正在列出的命令定义,它只是提供'EnableRule's和'DisplayRule'定义在' RuleDefinitions'部分他正在描述。 –