ShowCellメソッドで非表示列内のセルを表示させるとスクロールバーのつまみが正しい位置へ移動しない
対象製品
SPREAD for Windows Forms 7.0J
状況
修正済み
詳細
ShowCellメソッドで非表示列内のセルを表示させるとスクロールバーのつまみが正しい位置へ移動しません。
【手順】
1.新規フォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.水平スクロールバーのつまみを右端に移動します
4.ボタンをクリックします
--C列が表示されますが、スクロールバーのつまみの位置は右端のまま移動しません
【サンプルコード】
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FpSpread1.ActiveSheet.FrozenColumnCount = 1
FpSpread1.ActiveSheet.Columns(1).Visible = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim col As Integer = FpSpread1.ActiveSheet.FrozenColumnCount
FpSpread1.ShowCell(0, 0, 0, col, FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Nearest)
End Sub
【手順】
1.新規フォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.水平スクロールバーのつまみを右端に移動します
4.ボタンをクリックします
--C列が表示されますが、スクロールバーのつまみの位置は右端のまま移動しません
【サンプルコード】
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FpSpread1.ActiveSheet.FrozenColumnCount = 1
FpSpread1.ActiveSheet.Columns(1).Visible = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim col As Integer = FpSpread1.ActiveSheet.FrozenColumnCount
FpSpread1.ShowCell(0, 0, 0, col, FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Nearest)
End Sub
回避方法
Service Pack 4(v7.0.2016.2008)で修正済み。
Service Pack 4(v7.0.2016.2008)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
ShowCellメソッドで非表示ではないセルを指定します。
【サンプルコード】
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim col As Integer = FpSpread1.ActiveSheet.FrozenColumnCount
' 回避策
While col < FpSpread1.ActiveSheet.ColumnCount - FpSpread1.ActiveSheet.FrozenTrailingColumnCount AndAlso Not FpSpread1.ActiveSheet.Columns(col).Visible
col += 1
End While
FpSpread1.ShowCell(0, 0, 0, col, FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Nearest)
End Sub
Service Pack 4(v7.0.2016.2008)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
ShowCellメソッドで非表示ではないセルを指定します。
【サンプルコード】
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim col As Integer = FpSpread1.ActiveSheet.FrozenColumnCount
' 回避策
While col < FpSpread1.ActiveSheet.ColumnCount - FpSpread1.ActiveSheet.FrozenTrailingColumnCount AndAlso Not FpSpread1.ActiveSheet.Columns(col).Visible
col += 1
End While
FpSpread1.ShowCell(0, 0, 0, col, FarPoint.Win.Spread.VerticalPosition.Nearest, FarPoint.Win.Spread.HorizontalPosition.Nearest)
End Sub