3

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

我已经设法让我的 XML 在<EnableRule>我创建的情况下正常工作,但是一旦我尝试使用 a <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由于某种原因我没有!

4

2 回答 2

4

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

于 2012-08-24T16:09:54.567 回答
-1

我不确定您的 enable 是如何工作的,但这是我正在使用的工作命令定义的示例。这不使用 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>
于 2012-06-22T05:36:52.433 回答