行のデータに応じてコンボボックス列で表示するドロップダウンの中身を変えるには、IgbDataGridのCellEditStartedイベントでコンボボックス列のDataSourceプロパティを書き換えます。

コンボボックス列のDataSourceプロパティは、イベント引数として渡されてくるIgbGridCellEditStartedEventArgsオブジェクトのColumnプロパティをIgbComboBoxColumnにキャストすることでアクセスできるようになります。

protected void OnCellEditStarted(IgbGridCellEditStartedEventArgs args)
{
    if (args.Column.Field == "Prefecture")
    {
        ((IgniteUI.Blazor.Controls.IgbComboBoxColumn)args.Column).DataSource = this.Prefectures.Where(pref => pref.RegionName == (args.Item as Person).Region);
        this.DataGridRef.InvalidateVisibleRowsAsync();
    }
}

 

実行結果

「地域」が「関東」の行で「県」のドロップダウンを開くと…

「地域」が「近畿」の行で「県」のドロップダウンを開くと…

 

サンプル

サンプルは、「地域」にもコンボボックス列を使用し、「地域」を別の地域に変更すると、それに伴って「県」も「地域」に応じたものが表示されるようになっています。

 

Tagged:

製品について

Ignite UI for Blazor