C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 63 を表示中)
■36211 / )  DataGridViewのFilterで空白を指定するには
□投稿者/ ゆる (6回)-(2009/05/25(Mon) 10:47:18)

分類:[C#] 

いつも大変勉強させていただいています。

DataGridViewで任意のColumnでFilterをかけることをしたいのですが、一部うまくいきません。

任意のセルをダブルクリックすると、その内容でFilterがかかるようにしたいのです。
現在、ダブルクリック時に以下のように
DataGridViewのDataSourceであるBindingSourceのFilterプロパティを設定しています。

xxBindingSource.Filter =
xxGridView.Columns[e.ColumnIndex].DataPropertyName.ToString() + "='"
 + xxGridView[e.ColumnIndex, e.RowIndex].Value.ToString() + "'";


何らかのデータが入っているときは問題なく動作するのですが、
空白のセルで実行するとデータが全く表示されなくなってしまいます(Filter後の表示が0件になります)。
このとき、データがないセルで実行したとき、Filterは「(列名)=''」となっていました。

そこで、手探りながらもデータがない状態のFilterプロパティを以下のようにしてみたところ、
それぞれ以下のように怒られてしまいました。
「(列名)IS Null」→ 'Null' 演算子の後にオペランドがありません。
「(列名)= ""」→ 位置 15 のトークン '"' を変換できません。

期待する動作としては、
空白のセルでFilterをかけると、該当する列の値が空白のものだけ表示されるようなFilterがかかるようにしたいのです。

初歩的な躓きのような気がしますが、アドバイス頂戴できますと幸いです。
どうかよろしくお願いいたしますm(_ _)m



返信 編集キー/


管理者用

- Child Tree -