作成日: 2019/12/09 最終更新日: 2019/12/20
文書種別
不具合
状況
修正済み
詳細
拡張フィルタリングのユーザー設定の並べ替えダイアログにある「先頭行をデータの見出しとして使用する」チェックボックスを有効にしても、ソート実行時に先頭行がソートから除外されず正しく動作しません。製品では「先頭行をデータの見出しとして使用する」オプションはサポートされておらず、オプションが不正に表示されています。
回避方法
Service Pack 3(v12.0.4504.2012)で修正済み。
Service Pack を適用せずに対処する場合、タイマーを使って「並べ替え」ダイアログの起動をチェックし、存在する場合には「先頭行をデータの見出しとして使用する」オプションを非表示にすることで回避可能です。
■サンプルコード(VB.NET)
Service Pack を適用せずに対処する場合、タイマーを使って「並べ替え」ダイアログの起動をチェックし、存在する場合には「先頭行をデータの見出しとして使用する」オプションを非表示にすることで回避可能です。
■サンプルコード(VB.NET)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
…
' タイマーを使って「並べ替え」ダイアログをチェックする
sortingFormTimer = New Timer
sortingFormTimer.Interval = 100
AddHandler sortingFormTimer.Tick, AddressOf Timer_Tick
sortingFormTimer.Start()
End Sub
Friend WithEvents sortingFormTimer As Timer
Private Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
For Each form As Form In Application.OpenForms
' 「並べ替え」ダイアログを取得する
If TypeOf form Is FarPoint.Win.Spread.SortingForm Then
If sortingFormTimer.Enabled Then
sortingFormTimer.[Stop]()
Dim chk As Control = form.Controls("cbMyDataHasHeader")
' 「先頭行をデータの見出しとして使用する」を非表示にする
If chk.InvokeRequired Then
chk.Invoke(CType(Function()
chk.Visible = False
End Function, MethodInvoker))
Else
chk.Visible = False
End If
AddHandler form.FormClosed, AddressOf Form_FormClosed
End If
End If
Next
End Sub
' フォームを閉じたらタイマーを再開する
Private Sub Form_FormClosed(ByVal sender As Object, ByVal e As FormClosedEventArgs)
sortingFormTimer.Start()
End Sub
…
' タイマーを使って「並べ替え」ダイアログをチェックする
sortingFormTimer = New Timer
sortingFormTimer.Interval = 100
AddHandler sortingFormTimer.Tick, AddressOf Timer_Tick
sortingFormTimer.Start()
End Sub
Friend WithEvents sortingFormTimer As Timer
Private Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
For Each form As Form In Application.OpenForms
' 「並べ替え」ダイアログを取得する
If TypeOf form Is FarPoint.Win.Spread.SortingForm Then
If sortingFormTimer.Enabled Then
sortingFormTimer.[Stop]()
Dim chk As Control = form.Controls("cbMyDataHasHeader")
' 「先頭行をデータの見出しとして使用する」を非表示にする
If chk.InvokeRequired Then
chk.Invoke(CType(Function()
chk.Visible = False
End Function, MethodInvoker))
Else
chk.Visible = False
End If
AddHandler form.FormClosed, AddressOf Form_FormClosed
End If
End If
Next
End Sub
' フォームを閉じたらタイマーを再開する
Private Sub Form_FormClosed(ByVal sender As Object, ByVal e As FormClosedEventArgs)
sortingFormTimer.Start()
End Sub
旧文書番号
84705