行モード(RowMode)で結合セルをクリックすると、適切に行が選択されない場合がある

文書番号 : 39420     文書種別 : 不具合     登録日 : 2016/05/23     最終更新日 : 2016/09/05
文書を印刷する
対象製品
SPREAD for Windows Forms 8.0J
状況
修正済み
詳細
操作モード(OperationMode)が行モード(RowMode)では結合セルをクリックすると、結合の基点の行(1番上)が選択されない場合があります。

【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.C6セルをクリックします
  --2行目が選択されます
4.D8セルをクリックします
5.C6セルをクリックします
  --6行目が選択されます

【サンプルコード】
  Private tt As New ToolTip()

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ' シートの設定
    FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode
    FpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors
    FpSpread1.ActiveSheet.SelectionBackColor = Color.Red

    ' セルの連結
    FpSpread1.ActiveSheet.Cells(1, 2).RowSpan = 5
    FpSpread1.ActiveSheet.Cells(1, 3).RowSpan = 5
  End Sub

  Private Sub FpSpread1_CellClick(sender As Object, e As CellClickEventArgs) Handles FpSpread1.CellClick
    ' ツールチップの表示
    tt.Show("テスト", FpSpread1)
  End Sub
回避方法
Service Pack 3(v8.0.3505.2008)で修正済み。
Service Pack 3(v8.0.3505.2008)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

CellClickイベントのe.CancelをTrueに設定して組み込みの機能を解除した上で、明示的にアクティブセルを設定します。

【サンプルコード】
  Private Sub FpSpread1_CellClick(sender As Object, e As CellClickEventArgs) Handles FpSpread1.CellClick
    ' 回避策
    e.Cancel = True
    FpSpread1.ActiveSheet.SetActiveCell(e.Row, e.Column)

    ' ツールチップの表示
    tt.Show("テスト", FpSpread1)
  End Sub