2007年10月16日火曜日

アンバウンドなDataGridViewでフィルター機能

データバインディングした状態で、フィルタ機能をDataGridViewに実装するのはサンプルがMSDNにあるんだよね。DataGridView 列ヘッダー セルのドロップダウン フィルタ一覧を作成する
ただしアンバウンドな状態でのサンプルってのはないんだよな。

というのもアンバウンドな時にフィルタリングする、というのは処理的に大した話じゃないんで。

バインディングのときはDataViewを利用して簡単にフィルタを行えるけど、アンバウンドのときはそうはいかないのよ。同じ手法でやるとすると、「今現在保持している値をDataSetに収納する」ということをやってからじゃないと、DataViewでフィルタはかけることができないね。地味にこの部分がコスト高い。

なのでそこはすっぱりと諦めて(w)バインディングしているかどうかでフィルタ処理を行うクラスを切り替えてしまう、というのが一番いいんじゃないんだろうか。

ちなみにアンバウンドな時のフィルタというのは、「DataGridViewRow.Visible = False」にするだけ。
これだけな話なのでサンプルがないんだよね(w

0 件のコメント:

コメントを投稿