RangeDragFillModeをSeriesに設定したオートフィルで最大値を超えた値が数値型セルに設定される
対象製品
SPREAD for Windows Forms 7.0J
状況
修正済み
詳細
RangeDragFillModeをSeriesに設定したオートフィルで最大値(MaximumValue)を超えた値が数値型セルに設定されてしまいます。
本来は、非編集時の貼り付け(値のみ)同様、何も設定されません。
テキスト型セルの場合は、MaxLengthを超えないように値が切りつめられます。
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.A1セルからA3セルを選択し、カーソルがクロスに変更されるようにA3セルの右下にマウスを移動します
4.ドラッグします
--A4セルに「4」が設定されます
※本来は、A4セルになにも値が設定されません
【サンプルコード】
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' セル型の設定
Dim nmbrcell As New FarPoint.Win.Spread.CellType.NumberCellType()
nmbrcell.MaximumValue = 3
nmbrcell.DecimalPlaces = 0
FpSpread1.ActiveSheet.Columns(0).CellType = nmbrcell
' テストデータの設定
FpSpread1.ActiveSheet.Cells(0, 0).Value = 1
FpSpread1.ActiveSheet.Cells(1, 0).Value = 2
FpSpread1.ActiveSheet.Cells(2, 0).Value = 3
' ドラッグフィルを許可
FpSpread1.AllowDragFill = True
FpSpread1.RangeDragFillMode = FarPoint.Win.Spread.DragFillMode.Series
End Sub
本来は、非編集時の貼り付け(値のみ)同様、何も設定されません。
テキスト型セルの場合は、MaxLengthを超えないように値が切りつめられます。
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.A1セルからA3セルを選択し、カーソルがクロスに変更されるようにA3セルの右下にマウスを移動します
4.ドラッグします
--A4セルに「4」が設定されます
※本来は、A4セルになにも値が設定されません
【サンプルコード】
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' セル型の設定
Dim nmbrcell As New FarPoint.Win.Spread.CellType.NumberCellType()
nmbrcell.MaximumValue = 3
nmbrcell.DecimalPlaces = 0
FpSpread1.ActiveSheet.Columns(0).CellType = nmbrcell
' テストデータの設定
FpSpread1.ActiveSheet.Cells(0, 0).Value = 1
FpSpread1.ActiveSheet.Cells(1, 0).Value = 2
FpSpread1.ActiveSheet.Cells(2, 0).Value = 3
' ドラッグフィルを許可
FpSpread1.AllowDragFill = True
FpSpread1.RangeDragFillMode = FarPoint.Win.Spread.DragFillMode.Series
End Sub
回避方法
Service Pack 4(v7.0.2016.2008)で修正済み。