Ignite UI for Blazor のグリッドコンポーネント、IgbGrid では、セルを選択した状態で、キーボードから Ctrl + C または ⌘ Command + C を押すことで、選択されたセルの内容をクリップボードにコピーすることができます。
例えば以下のように表示・セル選択されている IgbGrid にて、Ctrl + C または ⌘ Command + C を押すと、
以下の内容のテキストが、クリップボードにコピーされます。
氏名 年齢 ボブ 30 アリス 25
このとき、既定では上記のとおり列ヘッダの内容も一緒にコピーされます。しかし場合によっては、列ヘッダは含めず、選択したセルの内容だけコピーされるようにしたい、という要件があるかもしれません。
そのような場合は以下の手順で、IgbGrid からクリップボードにコピーされる内容から、列ヘッダの内容を除外することができます。
まず以下のように初期化した IgbClipboardOptions オブジェクトを用意します (下記は Razor コンポーネント内の @code コードブロックにフィールド変数として用意する例)。CopyHeaders プロパティに false を指定していますが、これが列ヘッダの内容をコピーしない指定となります。
@code { #pragma warning disable BL0005 private IgbClipboardOptions _clipboardOptions = new() { CopyHeaders = false, CopyFormatters = true, Enabled = true, Separator = "\t" }; #pragma warning restore BL0005 ...
こうして用意した IgbClipboardOptions オブジェクトを、IgbGrid の ClipboardOptions パラメーターに渡します。
<IgbGrid ... ClipboardOptions="_clipboardOptions"> ...
以上で、IgbGrid 上でセル選択の上、キーボードから Ctrl + C または ⌘ Command + C を押したときに、列ヘッダの内容は含まれず、選択されたセルの内容だけがクリップボードにコピーされるようになります。
ボブ 30 アリス 25
以下のリンク先で、実際に動作するデモでクリップボードコピーの動作を確認して頂けます。
https://igjp-kb-blazor.github.io/KB14230_IgbGrid_CopyWithoutHeader/