MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > 編集、検証、選択、フォーカス > ドラッグ操作による入力 > ドラッグフィル |
ユーザーに、ドラッグフィルによるセル間またはセル範囲間のデータのコピーを許可できます。 ドラッグフィルでは、セルまたはセル範囲を選択した状態で、行内(複数列が選択されている場合は複数行内)または列内(複数行が選択されている場合は複数列内)の他のセルにデータをコピーできます。
また、このとき値をコピーするのか、連続データを作成するのかを指定できます。コピーの場合、選択した範囲内に同一データがコピーされます。連続データの場合、データの種類に基づき、値が増分または減分されます。下方向または右方向にドラッグすると、値が増分されます。上方向または左方向にドラッグすると、値が減分されます。
ドラッグフィルによってセルへの入力を行うには、FpSpreadクラスのAllowDragFillプロパティをtrueに設定する必要があります。ドラッグフィルのボタンおよびコンテキストメニューを表示するには、EnableDragFillMenuプロパティをtrueに設定する必要があります。
フィルの種類を指定するには、RangeDragFillModeプロパティを使用します。このプロパティを使用すると、画面に表示されるドラッグフィルのコンテキストメニューアイコンに、以下のオプションを選択して表示できます。
[セルをコピー]オプションは、選択した範囲にデータをコピーします。[連続データ]オプションは、連続的に値を増やして、または連続的に値を減らして入力します。下方向または右方向にドラッグすると、値が増加します。上方向または左方向にドラッグすると、値が減少します。セルの連続入力を行う場合、Spreadではデータモデルを使用して、データを増加できるかどうかを判定します。なお、連続データは、セル型ではなく、セルに実際に表示されている値を優先して判定します。[書式のみコピー]および[書式なしコピー]オプションを使用すると、セルのコピー時、最初に選択したセルと同じ書式を使用するかどうかを選択できます。
ドラッグフィルコンテキストメニューに表示されるオートフィルオプションは、選択したデータの種類、およびDragFillDataOnlyプロパティの設定値に応じて決まります。
以下の図は、コピーオプションを使用しています。
以下の図は、連続データオプションを使用しています。
フィルを行う方向をカスタマイズするには、FillDirection列挙体を使用します。
各イベント引数の詳細については、FpSpreadクラスのDragFillBlockイベント、DragFillBlockEventArgsクラス、およびDragFillBlockCompletedEventArgsクラスを参照してください。
FpSpreadコンポーネントのAllowDragFillプロパティを設定して、ドラッグフィル機能を有効化します。
FpSpreadコンポーネントのEnableDragFillMenuプロパティを設定して、ドラッグフィルのボタンおよびコンテキストメニューを表示します。
次のサンプルコードは、ユーザーのドラッグ&フィル操作を許可します。
C# |
コードのコピー
|
---|---|
fpSpread1.AllowDragFill = true; fpSpread1.EnableDragFillMenu = true; |
Visual Basic |
コードのコピー
|
---|---|
FpSpread1.AllowDragFill = True fpSpread1.EnableDragFillMenu = True |
次のサンプルコードは、ドラッグフィル機能を有効化して、ドラッグフィルのボタンおよびコンテキストメニューを表示します。
C# |
コードのコピー
|
---|---|
// ドラッグフィル機能を有効化します fpSpread1.ActiveSheet.Reset(); fpSpread1.DragFillDataOnly = false; fpSpread1.AllowDragFill = true; fpSpread1.EnableDragFillMenu = true; this.fpSpread1.ActiveSheet.Cells[0, 0].Value = "A001"; this.fpSpread1.ActiveSheet.Cells[0, 1].Value = DateTime.Today; this.fpSpread1.ActiveSheet.Cells[0, 3].Text = "Monday"; |
Visual Basic |
コードのコピー
|
---|---|
' ドラッグフィル機能を有効化します fpSpread1.ActiveSheet.Reset() fpSpread1.DragFillDataOnly = False fpSpread1.AllowDragFill = True fpSpread1.EnableDragFillMenu = True Me.fpSpread1.ActiveSheet.Cells(0, 0).Value = "A001" Me.fpSpread1.ActiveSheet.Cells(0, 1).Value = DateTime.Today Me.fpSpread1.ActiveSheet.Cells(0, 3).Text = "Monday" |
または、
DragFillDataOnlyプロパティをfalseに設定した場合、選択したデータが連続データとして入力可能であれば、コンテキストメニューにすべてのオプションが表示されます。RangeDragFillModeプロパティを「Series」に設定すると、コンテキストメニューには[連続データ]オプションだけが表示されます。「Copy」に設定すると、コンテキストメニューには[セルをコピー]オプションだけが表示されます。選択したデータが連続データとして入力できない場合は、コンテキストメニューには[セルをコピー]、[書式のみコピー]、[書式なしコピー]の3つのオプションだけが表示されます。 DragFillDataOnlyプロパティをtrueに設定した場合、選択したデータが連続データとして入力可能であれば、コンテキストメニューには[セルをコピー]および[連続データ]の2つのオプションのみが表示されます。RangeDragFillModeプロパティを「Series」に設定すると、コンテキストメニューには[連続データ]オプションだけが表示されます。「Copy」に設定すると、コンテキストメニューには[セルをコピー]オプションだけが表示されます。選択したデータが連続データとして入力できない場合は、コンテキストメニューには[セルをコピー]オプションだけが表示されます。 |