2017-06-26 12 views
0

例えば、私が持っているプロジェクト表nullでない場合はコンボボックスにフィルタを適用する方法:だから、基本的に私はActualStartDateとActualEndDateがnullであるすべての行がショーにすることを望んC#のWinフォームの特定のカラムが

 
ProjectID | ProjectName | EstimateStartDate | EstimateEndDate | ActaulStartDate | ActualEndDate | 
    1  |Liberty Green| 06-26-2017  | 06-30-2017 | 06-26-2017 | 08-30-2017 | 
    2  | Wharton | 06-26-2017  | 06-30-2017 |  null  | null  | 

ComboBoxProjectNameには表示されず、not nullはすべてComboBoxProjectNameに表示されなくなります。

+0

AのDateTimeは、C#でnullにすることはできませんが。あなたが得ることができる最高はデフォルトの日付です:1/1/01、したがってC#では、年> 1900(またはそれに類する)の有効な日付をテストすることができます。 c#のSQLを使用すると、DBNull.Valueをテストして、テーブルに空の項目が含まれているかどうかをテストできます。 – jdweng

答えて

0

あなたは、すべてのActualStartDateがnullで行...とデータテーブルでデータソースのコンボボックスを設定する選択試すことができます。

SqlConnection con = new SqlConnection("ConnectionString"); 
     try 
     { 
      if (con.State == ConnectionState.Closed) con.Open(); 
      SqlCommand cmd = new SqlCommand(); 
      cmd.CommandText = "Select * from Project Table where ActaulStartDate is null and ActualEndDate is null"; 
      cmd.Connection = con; 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 

      comboBox1.DataSource = dt; 
      comboBox1.DisplayMember = "ProjectName"; 
      comboBox1.ValueMember = "ProjectID"; 
     } 
     catch (Exception) 
     { 
      throw; 
     } 
     finally 
     { 
      if (con.State == ConnectionState.Open) con.Close(); 
     } 
関連する問題