CRM 2011 Ribbon DisplayRule ValueRule无法正常工作

时间:2012-05-09 22:58:44

标签: dynamics-crm-2011 ribbon

我目前正在尝试根据表单上复选框的值显示/隐藏自定义功能区按钮。

我已经设法让我的XML在我创建的<EnableRule>下工作正常但是一旦我尝试使用<DisplayRule>,无论我放入{{1}的任何值,问题按钮都会消失} field。

以下是我的XML:

new_is_trading

然后在我的规则定义中:

        <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出于某种原因不行!

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:-1)

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

    <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>