2009-06-09 14 views
0

strSearchFilter列に値(任意の値)を含み、値を持たない行(つまりNULL)を非表示にするセルを探したいとします。以下のコードは、strSearchFilterカラムにNULLを持つすべての行を、私が望むものとは反対のものを返します。C#datagrid cellはNULLではありません

おかげで助けを

strSearchFilter += string.IsNullOrEmpty(txtFilterValue.Text) ? " IS NULL" : " NOT LIKE '%" + txtFilterValue.Text + "%'"; 
    } 

private void performFilter(string strFilterText) 
{ 
     DataTable table = dataGridView1.DataSource as DataTable; 
     if (table != null) 
     { 
      List<DataRow> filteredRows = new List<DataRow>(table.Select(strFilterText)); 

      CurrencyManager cm = (CurrencyManager)BindingContext[dataGridView1.DataSource]; 
      cm.SuspendBinding(); 
      foreach (DataGridViewRow row in dataGridView1.Rows) 
      { 
       row.Visible = filteredRows.Contains(((DataRowView)row.DataBoundItem).Row); 
      } 
      cm.ResumeBinding(); 
     } 
} 

感謝。

strSearchFilter += string.IsNullOrEmpty(txtFilterValue.Text) ? " IS NOT NULL" : " NOT LIKE '%" + txtFilterValue.Text + "%'"; 
+0

あなたの質問は不明です。 – SLaks

+0

今、うまくいくほど明確になりました。ありがとう –

答えて

0

あなたは、以下の記述する必要があることである

MyColumn IS NOT NULL AND MyColumn <> '' 

をその何」再探している?

1

は、私はあなたがあなたのフィルターのような単純なSQL構文をに適用され、使用する列使用することをお勧め:

関連する問題