IgbDataChartでは、TooltipTemplateを使用してツールチップの表示内容をカスタマイズできます。本記事では、折れ線チャートの既定のツールチップを無効化し、データ項目の値に単位を付けて表示するツールチップの作成方法を解説します。

IgbDataChart の設定

まず、チャートにバインドするデータと、参照に必要なフィールドを用意します。本記事では、データ1件を表す DataItem クラスに、カテゴリ(X軸)を表す Index と、その値(Y軸)を表す Value の2つのプロパティを定義します。これらは、後ほどツールチップに表示する項目となります。

@code {
    public class DataItem
    {
        public int Index { get; set; }
        public double? Value { get; set; }
    }

    private List<DataItem> _data = new()
    {
       new(){ Index = 0, Value = 12 },
       ....
    };
    ....
}

ツールチップのカスタマイズ

IgbDataChart に IgbLineSeries を追加し、ツールチップをカスタマイズします。IgbLineSeries のShowDefaultTooltipfalseに設定して既定のツールチップを無効化し、TooltipTemplateにカスタムした表示内容を定義します。

<IgbDataChart ....>
  <IgbLineSeries
    Title="Sample Data"
    DataSource="_data"
    XAxisName="xAxis"
    YAxisName="yAxis"
    ShowDefaultTooltip="false"
    ValueMemberPath="@nameof(DataItem.Value)"
  >
    <TooltipTemplate>
      @if (context?.Item is DataItem item)
      {
        <div>
          <strong>Sample Data</strong>
        </div>
        <div>
          <strong>Index:</strong> @item.Index
        </div>
        <div>
          <strong>Value:</strong> @item.Value 件
        </div>
      }
    </TooltipTemplate>
  </IgbLineSeries>
</IgbDataChart>;

<TooltipTemplate> は IgbLineSeries の子要素として配置することで、そのシリーズ専用のツールチップ テンプレートとして宣言します。テンプレート内では、既定のコンテキスト変数context(型は IgbDataContext)を通じて、ホバーされたデータ ポイントの元データにcontext.Itemプロパティとしてアクセスできます。

実行結果

この実装により、グラフ上のデータ ポイントにマウスを乗せると、Index と単位付きの Value を表示するカスタムツールチップが表示されます。

Tagged:

製品について

Ignite UI for Blazor