命令栏中的按钮在网格项选择后不显示

本文提供了在 Dynamics 365 应用中选择一个或多个网格项后命令栏上的自定义按钮不会出现的问题的解决方案。

适用于: Microsoft Dynamics 365 原始 KB 数: 4481268

现象

自定义按钮被配置为显示在网格中,可以在 HomePageGridSubGrid 中的 Dynamics 365 应用中显示。

  • 在 Web 客户端中,无论是否选择了网格项,此按钮都会显示在功能区或命令栏中。
  • 在统一客户端接口(UCI)中,未选择网格项时,将显示此按钮。 但是,选择一个或多个网格项后,按钮将消失。

原因

此行为在 UCI 中是有意设计的。 UCI 推出了在网格中实现按钮可见性的情境敏感方法。 具体说来:

  • 按钮被归类为特定于项或未分类。
  • 选择一个或多个网格项时,仅显示特定于项的按钮。
  • 选择网格项时,不需要选择项的按钮将被隐藏。

上下文敏感行为根据关联命令中是否存在 选择计数规则 来确定按钮是否被视为特定于项。 如果命令具有选择计数的规则,按钮将分类为项特定。

注意

浮出控件和拆分按钮不受此行为影响,即使项目未被选择也仍会显示。 确保动态菜单项不会被错误隐藏。

决议

此设计会影响所有按钮,包括自定义按钮和现成按钮,浮出控件和拆分按钮除外。 此更改通过在项目选择过程中隐藏非特定于项的按钮来帮助确定特定于项的命令的优先级。

在大多数情况下,隐藏不对选定项执行操作的按钮会很有帮助,以便 特定于 项的命令更加突出。

如果需要运行与在项目选择过程中选择的项无关的泛型命令,可以将以下规则添加到自定义功能区命令的定义中:

<EnableRule Id="Mscrm.AnySelection" />

此规则会导致统一客户端将命令视为特定于项的命令和非特定于项的命令,确保按钮出现在这两种方案中。

详细信息

针对模型驱动应用使用统一接口增强了用户体验

模型驱动应用中的功能区