C# 即使在刷新组合框时,组合框中填充的值也不会更新

C# 即使在刷新组合框时,组合框中填充的值也不会更新,c#,winforms,C#,Winforms,我的问题是:我有一个combobox,我正在使用下面的代码填充它。它填充得非常完美,但我希望它刷新并只获取已经存在的值 deliverystatus='pending' 在数据库中(组合框仅为那些名为“delivery status”的字段设置为“pending”的详细信息填充),单击send按钮后,数据库将更新为 deliverystatus=已批准 但是组合框仍然显示我刚刚更新的值,即 deliverystatus=已批准 (单击发送后)。但我希望在发送详细信息后,从组合框中自动删除交货状态

我的问题是:我有一个combobox,我正在使用下面的代码填充它。它填充得非常完美,但我希望它刷新并只获取已经存在的值

deliverystatus='pending'

在数据库中(组合框仅为那些名为“delivery status”的字段设置为“pending”的详细信息填充),单击send按钮后,数据库将更新为

deliverystatus=已批准

但是组合框仍然显示我刚刚更新的值,即

deliverystatus=已批准

(单击发送后)。但我希望在发送详细信息后,从组合框中自动删除交货状态为“已批准”的值

using (SqlConnection se = new SqlConnection("Data Source=HP-HP;Initial Catalog=MIND;Integrated Security=True"))
{
  try
  {
    SqlDataAdapter d = new SqlDataAdapter("select  UniqueID from deliverydata where delivery_status='Pending' and approvedby=(select name from TEAM where emailid='" + attach.newvalue() + "')", se);
    DataSet dt = new DataSet();
    d.Fill(dt);
    comboBox_deliverytypedisp.DataSource = dt.Tables[0]; /// assing the first table of dataset
    comboBox_deliverytypedisp.DisplayMember = "UniqueID";
  }
  catch (Exception ex)
  {
    // write exception info to log or anything else
    MessageBox.Show(ex.ToString());
  }
}

你有没有先把它清理干净

comboBox_deliverytypedisp.DataSource = null

我记得我在DataGridView.DataSource中做过类似的操作,因为它不会以其他方式刷新。

@user2707945它正好位于您的代码中,第二行是您的代码,第一行是我的代码。找不到列deliverystatus@user2707945正如在您的问题中,您谈到了
deliverystatus='pending'
,我只知道这些。您应该检查包含
deliverystatus
的列的确切名称,并使用该名称而不是
deliverystatus
。是的,我使用的是确切的名称。即使我在数据库中更新了值。如何显示图像…cnt链接在初始阶段没有问题…当表单第一次加载时显示它必须显示的内容,只有在我单击“发送”按钮后,才会出现问题…并且当我单击“btton发送”时,控件不在formload方法中。。。
 dt.Tables[0].DefaultView.RowFilter = "deliverystatus ='pending'";
 comboBox_deliverytypedisp.DataSource = dt.Tables[0];