質問: new DataGridViewAutoFilterColumnHeaderCell(col.HeaderCell); } ``` 現状フィルタ動作はこれで問題ないのですが、 再検索時にフィルターを設定していた場合にフィルターの内容を保持したいです。 (現状ではフィルターの選択は検索毎に解除されます。) このためには検索前に一度フィルターで何を選択していたか保持して、 検索後、DataGridViewの内容が更新された後に保持しておいたフィルター値で フィルタリングする必要があると考えています。 DataGridViewAutoFilterColumnHeaderCellの外からフィルター選択値の取得、 フィルター値の設定とフィルタ動作をすることは可能でしょうか? それともヘッダー部分をカスタム部品化するしかないでしょうか? よろしくお願いいたします。
回答: `DataGridViewAutoFilterColumnHeaderCell`の実装を確認すると、リセット時の動作は ``` private void ResetFilter() { if (this.DataGridView == null) return; BindingSource source = this.DataGridView.DataSource as BindingSource; if (source == null || String.IsNullOrEmpty(source.Filter)) { filtered = false; selectedFilterValue = "(All)"; currentColumnFilter = String.Empty; } } ``` となっており、`BindingSource`の`Filter`を指定しておけばリセットされないように見えます。