階層表示で常時入力モードにすると、スクロールバーをクリックしたときにセルの値が不正になる
対象製品
SPREAD for Windows Forms 7.0J
状況
修正済み
詳細
階層表示で常時入力モードにすると、スクロールバーをクリックしたときにセルの値が不正になります。
【手順】
1.新規フォームにSPREADとButton2つを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.1行目の展開アイコン(+)をクリックします
4.子階層のA1セルをクリックします
5.スクロールバーをクリックします
--子階層のA1セルの値がクリアされます
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim ds As New DataSet()
Dim parent As DataTable = ds.Tables.Add("Parent")
parent.DefaultView.AllowNew = False
parent.Columns.Add("ParentA", GetType(Int32))
parent.Columns.Add("ParentB", GetType(Int32))
parent.Rows.Add(1, 2)
Dim child As DataTable = ds.Tables.Add("Child")
child.Columns.Add("ChildA", GetType(Int32))
child.Columns.Add("ChildB", GetType(Int32))
child.Rows.Add(1, 101)
ds.Relations.Add("Relation", parent.Columns("ParentA"), child.Columns("ChildA"))
' SPREADの設定
FpSpread1.EditModePermanent = True
FpSpread1.ActiveSheet.DataSource = ds
End Sub
【手順】
1.新規フォームにSPREADとButton2つを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.1行目の展開アイコン(+)をクリックします
4.子階層のA1セルをクリックします
5.スクロールバーをクリックします
--子階層のA1セルの値がクリアされます
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim ds As New DataSet()
Dim parent As DataTable = ds.Tables.Add("Parent")
parent.DefaultView.AllowNew = False
parent.Columns.Add("ParentA", GetType(Int32))
parent.Columns.Add("ParentB", GetType(Int32))
parent.Rows.Add(1, 2)
Dim child As DataTable = ds.Tables.Add("Child")
child.Columns.Add("ChildA", GetType(Int32))
child.Columns.Add("ChildB", GetType(Int32))
child.Rows.Add(1, 101)
ds.Relations.Add("Relation", parent.Columns("ParentA"), child.Columns("ChildA"))
' SPREADの設定
FpSpread1.EditModePermanent = True
FpSpread1.ActiveSheet.DataSource = ds
End Sub
回避方法
Service Pack 6(v7.0.2019.2008)で修正済み。