ホイールでスクロールしたとき、最後から2番目の行の表示が不正になる
対象製品
El Tabelle for .NET
発生環境
v1.2.2003.1128
v1.2.2004.0224 (HotFix)
v1.2.2004.0224 (HotFix)
状況
修正済み
詳細
次のコーディングで、ホイールでスクロールを行ったとき下から2番目の行の表示が不正になる。
PageDown キーやスクロールバーの操作では発生せず、またホイールによる操作でも現象を確認できない場合もある。
厳密には、行の高さ、固定行を設定し、最下部までスクロールした後に再び上へスクロールし、再度最下部を
表示したときに発生する。
Sheet1.FreezeRows = 11
Sheet1.MaxRows = 200
Sheet1.Rows(3).Height = 36
WorkBook1.Size = New Size(1016, 668)
For i As Integer = 0 To Sheet1.MaxRows - 1
Sheet1(0, i).Value = i + 1
Sheet1(1, i).Value = i + 1
Sheet1(2, i).Value = i + 1
Next
PageDown キーやスクロールバーの操作では発生せず、またホイールによる操作でも現象を確認できない場合もある。
厳密には、行の高さ、固定行を設定し、最下部までスクロールした後に再び上へスクロールし、再度最下部を
表示したときに発生する。
Sheet1.FreezeRows = 11
Sheet1.MaxRows = 200
Sheet1.Rows(3).Height = 36
WorkBook1.Size = New Size(1016, 668)
For i As Integer = 0 To Sheet1.MaxRows - 1
Sheet1(0, i).Value = i + 1
Sheet1(1, i).Value = i + 1
Sheet1(2, i).Value = i + 1
Next
回避方法
この現象はファイル バージョン v1.2.2004.0329 (HotFix) 以降のアセンブリで修正されています。
修正版は こちら からダウンロードできます。
問題が修正されたアセンブリに移行するか、次の操作を行うことで現象を回避できます。
次のように、スクロール時にシートを更新することで回避できます。
Private Sub Sheet1_Scroll(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Sheet1.Scroll
If Sheet1.BottomRight.Row = Sheet1.MaxRows - 1 Then
Sheet1.Refresh()
End If
End Sub
修正版は こちら からダウンロードできます。
問題が修正されたアセンブリに移行するか、次の操作を行うことで現象を回避できます。
次のように、スクロール時にシートを更新することで回避できます。
Private Sub Sheet1_Scroll(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Sheet1.Scroll
If Sheet1.BottomRight.Row = Sheet1.MaxRows - 1 Then
Sheet1.Refresh()
End If
End Sub
キーワード
ELTB03584
この文書は、以前は次のバグレポートIDで公開されていました : 3673