作成日: 2017/07/04 最終更新日: 2017/07/04
文書種別
不具合
状況
修正済み
詳細
この現象は、指定したキーが押されたときに、選択範囲のデータがクリアされるよう、ClearSelectedCellsDataアクションを割り当てると発生します。
以下、[Delete]キーに、ClearSelectedCellsDataアクションを割り当てた例です。
【実行手順】
1. SPREADを配置します
2. 以下のサンプルコードをコピーして実行します
3. A1セルを選択して[Delete]キーを押します
--- コンソールへの出力が2回、発生します
【サンプルコード】
Public Class Form1
Private WithEvents dm As FarPoint.Win.Spread.Model.DefaultSheetDataModel
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 入力マップの設定
Dim im As FarPoint.Win.Spread.InputMap = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused)
im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCellsData)
' データの設定
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' データモデルの設定
dm = FpSpread1.ActiveSheet.Models.Data
End Sub
Private Sub dm_Changed(sender As Object, e As FarPoint.Win.Spread.Model.SheetDataModelEventArgs) Handles dm.Changed
' イベント発生の確認
Console.WriteLine("dm_Changed: type={0} value={1}", e.Type, dm.GetValue(e.Row, e.Column))
End Sub
End Class
以下、[Delete]キーに、ClearSelectedCellsDataアクションを割り当てた例です。
【実行手順】
1. SPREADを配置します
2. 以下のサンプルコードをコピーして実行します
3. A1セルを選択して[Delete]キーを押します
--- コンソールへの出力が2回、発生します
【サンプルコード】
Public Class Form1
Private WithEvents dm As FarPoint.Win.Spread.Model.DefaultSheetDataModel
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 入力マップの設定
Dim im As FarPoint.Win.Spread.InputMap = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused)
im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCellsData)
' データの設定
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' データモデルの設定
dm = FpSpread1.ActiveSheet.Models.Data
End Sub
Private Sub dm_Changed(sender As Object, e As FarPoint.Win.Spread.Model.SheetDataModelEventArgs) Handles dm.Changed
' イベント発生の確認
Console.WriteLine("dm_Changed: type={0} value={1}", e.Type, dm.GetValue(e.Row, e.Column))
End Sub
End Class
回避方法
Service Pack 2(v10.0.4006.2012)で修正済み。
旧文書番号
40794