次の方法で共有


ユーザー定義のアクションによるリボンの変更

注意

このトピックは、従来のコマンドに関するものです。

コマンドを定義する新しい方法があります。 最新コマンドの概要 (プレビュー).

既定のアプリケーションのコマンド バーまたはリボンは Microsoft Dataverse メタデータによって定義されます。 既定のデータは変更できませんが、既定のリボンを上書きする特定のアクションの定義を指定できます。

ユーザー定義アクションの種類

リボンに対するユーザー定義アクションには、次の 2 種類があります。

  • <CustomAction>: リボン内のアイテムを追加する、または置き換えるアクションを定義します。

  • <HideCustomAction> : リボンの既存のリボン要素を削除して処理されないようにします。

ユーザー定義アクション

ユーザー定義アクションは、既定のリボン定義をどのように変更するかを指定するステートメントです。 実行時に評価され、リボンに適用されます。 ユーザー定義アクションのコンテキストを設定するには、変更するアイテムの場所に関する情報を指定する必要があります。 変更の適用場所を指定するには、Location パラメーターを使用します。

新しいリボン要素を追加する場合は、既存のタブやグループなどの親要素を参照します。 その後、接尾辞 ._children を使用して、このユーザー定義アクションによって既存のアイテムに何かが追加されることを示します。

既存のアイテムの定義を変更する場合は、変更するアイテムの ID と Location 値を一致させます。

さらに、ユーザー定義アクションの一意の ID を指定する必要があります。 この値を設定するには Id パラメーターを使用します。 値が一意であることを保証する命名規則を使用することを強くお勧めします。 整合性と可読性を保つため、一貫性のある構成要素をピリオドを使用して分割することをお勧めします。 命名規則の最初のアイテムは、ソリューション発行者またはソリューションに関連するものにします (例: Contoso.contact.form.CustomButton.CustomAction)。

ヒント

命名規則の Id パラメーターを一貫して適用すると、RibbonDiffXml 編集時の生産性が大幅に向上します。

指定された場所情報に基づいて、Sequence 値により、項目の表示順序が決定されます。 2 つの既存のコントロールの間にカスタム コントロールを表示する場合は、既存のアイテムのシーケンス値の間にあるシーケンス値を選択する必要があります。

ユーザー定義アクションを非表示にする

<HideCustomAction> は、既存のリボン要素を削除して表示されないようにする場合に使用するステートメントです。 これはリボン要素を非表示にするのではなく、実行時にリボン要素を実際に削除して、リボン内に存在しないようにします。

HideActionId 要素は、アクションの一意の ID を提供します。 整合性と可読性を保つため、<CustomAction> 要素で説明した命名規則に従います。 Location パラメーターは、削除するリボン要素の ID と一致させる必要があります。

注意

HideCustomAction 要素は指定されたノードをリボンから削除するため、この方法によるリボン要素の削除は、あらゆる状況に適した選択肢ではない可能性があります。

  • 特定の特権に関連付けられているボタンを削除する場合は、実装のセキュリティ ロールのテーブルに対する特権を調整する必要があります。 これにより、既定のリボンの表示と、アクションを実行するために必要な特権を持っていないユーザーに対してリボン要素を非表示または無効化するためのルールの設定が可能になります。
    • 既存のリボン要素をユーザー定義要素に置き換える場合は、既存の要素と同一の CustomAction.Location 値を指定することでその要素を上書きできます。
  • HideCustomAction 要素を削除するには、HideCustomAction 要素をインストールしたのと同じソリューションの新しい更新バージョンを作成する必要があります。 ソリューションの新しいパッチでは、HideCustomAction 要素を削除できません。

HideCustomAction 要素は一度追加すると、新しい更新されたソリューションを作成する場合を除いて、要素を削除することはできません。 代わりに、常にfalseと評価される DisplayRule要素を使用してリボン ボタンは非表示される必要があります。 Mscrm.HideOnModernMscrm.ShowOnlyOnModern の両方を持つことは常に false と評価されます。 たとえば、非アクティブ化ボタンを非表示にするには:

<CommandDefinition Id="Mscrm.HomepageGrid.Deactivate">
    <EnableRules>
      </EnableRules>
      <DisplayRules>
        <DisplayRule Id="Mscrm.HideOnModern" />
        <DisplayRule Id="Mscrm.ShowOnlyOnModern" />
      </DisplayRules>
      <Actions>
        </Actions>
    </CommandDefinition>

関連項目

コマンドとリボンのカスタマイズ
データをページからパラメーターとしてリボン操作に渡す
リボン要素のスケーリングの定義

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。