作成日: 2024/07/30 最終更新日: 2024/07/30
文書種別
不具合
状況
回避方法あり
詳細
階層表示を有効にして親階層のシートのOperationModeプロパティを使用して操作モードを変更します。子階層のデータが存在しない時に親階層のセルのクリックすると、子階層のスクロールバーが不正に表示される場合があります。本現象は親階層のOperationModeプロパティが以下の場合に発生します。
・SingleSelect
・MultiSelect
・ExtendedSelect
回避方法
チェックボックスやUI上から子階層を閉じるときにHorizontalScrollBarPolicyプロパティをNeverにして子階層のスクロールバーを一時的に非表示にして回避が可能です。
[Visual Basic]
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
' 回避策(1)
If CheckBox1.Checked Then
Dim arr = FpSpread1.GetRootWorkbook().GetChildWorkbooks
For i = 0 To arr.Count - 1
CType(arr(i), SpreadView).HorizontalScrollBarPolicy = ScrollBarPolicy.AsNeeded
Next
Else
Dim arr = FpSpread1.GetRootWorkbook().GetChildWorkbooks
For i = 0 To arr.Count - 1
CType(arr(i), SpreadView).HorizontalScrollBarPolicy = ScrollBarPolicy.Never
Next
End If
' 子階層の展開/折りたたみ
FpSpread1.ActiveSheet.ExpandRow(-1, CheckBox1.Checked)
End Sub
Private Sub FpSpread1_Expand(sender As Object, e As ExpandEventArgs) Handles FpSpread1.Expand
' 回避策(2)
Dim spreadView As SpreadView = e.View
Dim row As Integer = e.Row
Dim sheetView As SheetView = spreadView.GetSheetView()
Dim childSheetView As SheetView = sheetView.GetChildView(row, 0)
For Each child As SpreadView In spreadView.GetChildWorkbooks()
If child.GetSheetView() Is childSheetView Then
If e.Expand Then
child.HorizontalScrollBarPolicy = ScrollBarPolicy.AsNeeded
Else
child.HorizontalScrollBarPolicy = ScrollBarPolicy.Never
End If
Exit For
End If
Next
End Sub