作成日: 2018/10/23 最終更新日: 2018/10/23
文書種別
制限事項
詳細
■事象
フィルタリングした状態でフィルタリング対象列の値を変更した時、フィルタ結果が更新されない場合があります。
この事象が発生する条件は、以下の通りです。
AutoFilterModeプロパティを"EnhancedContextMenu"に設定し、チェックボックスから条件を設定している
フィルタリング対象のデータが1種類しかない(フィルタリング条件が空白以外に1つしかない)
フィルタリング対象列に値無し(空白)の行が含まれている
フィルタリング条件として「空白」以外のすべての値にチェックを入れている
■再現用サンプルコード(VB.NET)
■再現手順(上記サンプルコードを前提)
1. "A"でフィルタリングします。
2. 任意の行の値を変更します。
-- 変更内容を確定しても、変更した行が非表示になりません。
フィルタリングした状態でフィルタリング対象列の値を変更した時、フィルタ結果が更新されない場合があります。
この事象が発生する条件は、以下の通りです。
AutoFilterModeプロパティを"EnhancedContextMenu"に設定し、チェックボックスから条件を設定している
フィルタリング対象のデータが1種類しかない(フィルタリング条件が空白以外に1つしかない)
フィルタリング対象列に値無し(空白)の行が含まれている
フィルタリング条件として「空白」以外のすべての値にチェックを入れている
■再現用サンプルコード(VB.NET)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
With FpSpread1.ActiveSheet
' 行・列数を設定します。
.ColumnCount = 1
.RowCount = 8
' フィルタリングを有効にします。
.Columns(0).AllowAutoFilter = True
.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.EnhancedContextMenu
' セルに値を設定します。
.Cells(0, 0, 5, 0).Value = "A"
End With
End Sub
With FpSpread1.ActiveSheet
' 行・列数を設定します。
.ColumnCount = 1
.RowCount = 8
' フィルタリングを有効にします。
.Columns(0).AllowAutoFilter = True
.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.EnhancedContextMenu
' セルに値を設定します。
.Cells(0, 0, 5, 0).Value = "A"
End With
End Sub
■再現手順(上記サンプルコードを前提)
1. "A"でフィルタリングします。
2. 任意の行の値を変更します。
-- 変更内容を確定しても、変更した行が非表示になりません。
回避方法
SPREADにデータ連結した状態で回避する方法はありません。
代替案としては、集計関数を設定する行を非連結行に入れ替える方法、もしくはExcel出力用のSPREADをメモリ上に生成し、フォーム上の値・数式を非連結データとして設定し、エクスポートする方法が考えられます。
代替案としては、集計関数を設定する行を非連結行に入れ替える方法、もしくはExcel出力用のSPREADをメモリ上に生成し、フォーム上の値・数式を非連結データとして設定し、エクスポートする方法が考えられます。
旧文書番号
83314