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