繁体   English   中英

C#winform如果特定的列不为空,如何过滤组合框

[英]C# winform How to filter combobox if the specific column is not null

例如,我有一个项目表:

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        |

因此,基本上,我希望所有其中ActualStartDate和ActualEndDate为null的行都显示在ComboBoxProjectName中,而所有非null的行将不再显示在ComboBoxProjectName中。

您可以尝试选择ActualStartDate为null ...的所有行,然后通过datatable设置datasource组合框:

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();
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM