IgbGrid でフォーカスが当たっているアクティブなセルに紐づいたデータを取得したい場合は、アクティブなノードが変わったときに発生する ActiveNodeChange イベントコールバックを使ってアクティブセルの行インデックスを取得し、それをもとに紐づいているデータを取得します。
<IgbGrid @ref="grid"
Data="People" PrimaryKey="ID" ...
ActiveNodeChange="OnActiveNodeChange" ... >
...
</IgbGrid>
@code {
private IEnumerable<Person>? People = null;
private Person? PersonOfActiveCell = null;
private IgbGrid? grid;
private async Task OnActiveNodeChange(IgbActiveNodeChangeEventArgs e)
{
if(this.grid != null)
{
// アクティブセルの行インデックスを取得する。
int activeRowIndex = (int)e.Detail.Row;
// 行インデックスをもとにRowTypeオブジェクトを取得する。
var rowType = await this.grid.GetRowByIndexAsync(activeRowIndex);
// 紐づいているデータを取り出す。
this.PersonOfActiveCell = rowType.Data as Person;
}
}
}
実行結果
