检查表中的名称是否已在 WPF 的组合框中列出

本文关键字:组合 WPF 是否 检查表 | 更新日期: 2023-09-27 18:34:42

我想检查表中的名称是否已在组合框中列出,如果是,请不要插入。 如果不插入。我尝试了以下方法:

public void display()
{      
    try
    {
        sc.Open();
        string Query = "select * from Part";
        SqlCommand createCommand = new SqlCommand(Query, sc);
        SqlDataReader dr = createCommand.ExecuteReader();
        while (dr.Read())
        {
            string Name = dr.GetString(1);
            if (Name != cbPartners.Text)
            {
                cbPart.Items.Add(Name);//Displaying a list in the Combo Box
            }
            else
            {
                cbPart.Items.Clear();
            }
        }
        sc.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

检查表中的名称是否已在 WPF 的组合框中列出

试试这个(使用 linq(

if (cbPart.Items.Cast<ListItem>().Select(f => f.Text).Contains(Name))
       {
             cbPart.Items.Add(Name);//Displaying a list in the Combo Box
       }
           else
             ...
if (cbPart.FindStringExact(Name) == -1)
{
    cbPart.Items.Add(Name);
}

作为旁注,您不需要选择所有列,因为您只需要一列

string Query = "select partname from Part";

不清楚为什么使用cbPart.Items.Clear();删除else情况下的所有项目,当找到匹配项目时,该行将删除已经存在的组合框项目。