IgrGrid では、IgrGridEditingActions によって行をホバーした際に編集や削除のボタンが表示され、操作が可能です。本記事では、サンプルデータに「編集可否」「削除可否」を持たせ、行ごとに 編集ボタンや削除ボタンの表示/非表示を切り替えます。
IgrGrid の設定
行クラスを条件付きで付与するには、rowClasses
に TypeScript のハンドラーを指定します。特定の条件を満たす行に CSS クラスを適用することで、ActionStrip のボタン表示を制御できます。
<IgrGrid .... rowEditable={true} rowClasses={webGridRowClassesHandler} > .... </IgrGrid>
ハンドラーの作成
このハンドラーは、キーが CSS クラス名、値が条件(true/false) を返す関数のオブジェクトです。
const webGridRowClassesHandler = { "row-disEditable": (row: any) => row.data["rowEditable"] === false, "row-disDeletable": (row: any) => row.data["rowDeletable"] === false, };
- row-disEditable は rowEditable が false の行に適用
- row-disDeletable は rowDeletable が false の行に適用
CSS クラスの定義
付与した行クラスに応じて、ActionStrip 内のボタンを非表示にできます。
/* Action strip 内の edit ボタンを非表示にする */ .row-disEditable igx-grid-action-button[iconname="edit"] { display: none; } /* Action strip 内の delete ボタンを非表示にする */ .row-disDeletable igx-grid-action-button[iconname="delete"] { display: none; }
実行結果
- 編集不可の行では Edit ボタンが非表示
- 削除不可の行では Delete ボタンが非表示

ダウンロード後、以下のコマンドで実行できます。
npm ci npm run dev