最強の表計算・グリッドコントロールとして多くの開発現場で採用されてきたSPREAD(スプレッド)。この記事ではWPFプラットフォームに対応した「SPREAD for WPF 2.0J」の機能を紹介します。
ドラッグフィル
Excelで、セルの右下にマウスポインタを合わせてドラッグ、連続データを設定できるオートフィル機能を普段から活用されている方も多いと思います。連番データを大量に入力するケースでは欠かせません。
Excelと同様の操作性を提供するSPREADでも、Excelのオートフィルに該当する機能を提供しています。それがドラッグフィルです。
SPREADのドラッグフィル
コントロールのCanUserDragFill
プロパティをTrue
に設定すると、SPREADでドラッグフィルを有効にできます。
SPREAD for WPF 2.0J以降では、このドラッグフィルがパワーアップし、数字を含む文字列の連続コピー、および既定フィル動作の制御が可能になりました。
数字を含む連続コピー
数字を含む文字列は以下のパターンに対応していますので、より多様な連続データを操作できます。
文字列 + 数字 | 数字 + 文字列 | 文字列 + 数字 + 文字列 |
---|---|---|
「ABC-001」をドラッグ | 「1組」をドラッグ | 「第1回」をドラッグ |
既定フィル動作の制御
SPREADの既定動作もExcel同様、フィルハンドルをドラッグすると連続データを設定します。
また、[Ctrl]キーを押しながらドラッグするとセルをコピーします。
この既定動作は、コントロールのDefaultDragFillType
プロパティで変更できます。
既定動作の変更は、フィルメニューを非表示に設定する場合、より効力を発揮するように思います。
Excelライクなフィルメニューですが、アプリケーションの要件によっては、こうしたメニューでユーザーが動作を変更することを禁止したい場合があります。
このような場合、フィルメニューを非表示に設定して既定動作を要件どおりに設定すると、ドラッグフィルの動作を完全に制御できます。
以下の画像は、フィルメニューを非表示に、ドラッグフィルの既定動作をコピーに設定した例です。
操作中 | 操作終了 |
---|---|
セルがコピーされる | フィルメニューは非表示 |
以下、フィルメニューを非表示に設定し、ドラッグフィルの既定動作をコピーに設定するサンプルコードです。
フィルメニューを非表示に設定するには、WPFのスタイルを使用します。XAMLを使用すると、以下のように簡潔に記述できます。
<!--ドラッグフィルの既定動作をコピーに設定--> <sg:GcSpreadGrid CanUserDragFill="True" DefaultDragFillType="CopyCells"> <sg:GcSpreadGrid.Resources> <!--フィルメニューを非表示--> <Style TargetType="sg:DragFillSmartTag"> <Setter Property="Visibility" Value="Collapsed"/> </Style> </sg:GcSpreadGrid.Resources> </sg:GcSpreadGrid>
SPREAD for WPFの機能を体感
.NET FrameworkのClick Once機能を利用したデモを公開しています。
Windows PCにWebサイトからインストールして、SPREAD for WPFの機能を実際にお試しいただけます。