以下のようにDataGridViewのHeaderCellに
DataGridViewAutoFilterColumnHeaderCellを設定して
エクセルのオートフィルターの簡易版を実装しています。

foreach (DataGridViewColumn col in DataGridView.Columns)  {
     col.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(col.HeaderCell);
 }

現状フィルタ動作はこれで問題ないのですが、
再検索時にフィルターを設定していた場合にフィルターの内容を保持したいです。
(現状ではフィルターの選択は検索毎に解除されます。)

このためには検索前に一度フィルターで何を選択していたか保持して、
検索後、DataGridViewの内容が更新された後に保持しておいたフィルター値で
フィルタリングする必要があると考えています。

DataGridViewAutoFilterColumnHeaderCellの外からフィルター選択値の取得、
フィルター値の設定とフィルタ動作をすることは可能でしょうか?
それともヘッダー部分をカスタム部品化するしかないでしょうか?

よろしくお願いいたします。