IgbDataGrid は非推奨のコントロールです。代わりに IgbGrid をご利用ください。IgbGrid での実装方法についてご不明な点がありましたら弊社技術サポートまでお問い合わせください。
クリックされたセルの情報やその行のデータを取得したい場合は、IgbDataGridの選択機能を有効にして、選択されているセルの情報から取得してください。
<IgbDataGrid Width="100%" Height="250px" DataSource="@People" AutoGenerateColumns="false" PrimaryKey="@PrimaryKeys" EditMode="EditModeType.None" SelectionMode="GridSelectionMode.SingleCell" CellClicked="OnCellClicked"> <IgbNumericColumn Name="ID" Field="ID" HeaderText="ID"></IgbNumericColumn> <IgbTextColumn Name="FamilyName" Field="FamilyName" HeaderText="姓"></IgbTextColumn> <IgbTextColumn Name="GivenName" Field="GivenName" HeaderText="名"></IgbTextColumn> <IgbTextColumn Name="Prefecture" Field="Prefecture" HeaderText="県"></IgbTextColumn> <IgbTextColumn Name="City" Field="City" HeaderText="市"></IgbTextColumn> </IgbDataGrid> @code { ... private void OnCellClicked(IgbGridCellEventArgs args) { if (!args.IsDoubleClick) { // 現在選択されているセルを取得する if (args.Grid.SelectedCells.Count != 1) return; IgbCellKey selectedCell = args.Grid.SelectedCells[0]; // IgbColumn側の列名とデータソース側の列名を取得する SelectedColumnKey = selectedCell.ResolvedColumn.Name; // IgbColumn側の列名(="Name"プロパティの値) SelectedField = selectedCell.ResolvedColumn.Field; // データソース側の列名(="Field"プロパティの値) // バインドされているデータソース側のデータを取得する。 SelectedDataItem = (Person)(selectedCell.RowItem); // Personはバインドされているデータソースの1行分のデータを表すクラス // データソース側のデータから情報からIDとクリックしたセルの値を取得する。 SelectedValue = SelectedDataItem.GetType().GetProperties().FirstOrDefault(prop => prop.Name == SelectedField)?.GetValue(SelectedDataItem); ... } } }
実行結果

サンプル