【问题标题】:preventing combo box to assign an Item and filling its text防止组合框分配项目并填充其文本
【发布时间】:2015-01-06 21:59:17
【问题描述】:

我正在尝试下面的代码来过滤组合框的成员,但不幸的是,在键入第一个字母组合框后,组合框会自动将第一个相关成员分配给组合框,并且其文本填充有所选项目的显示成员。所以用户不能继续输入其他词来搜索项目。

    private void cmbCompany_TextChanged(object sender, EventArgs e)
    {
        string QueryCompany = string.Format("select id,title from acc.dl union select null , null order by title");
        SqlDataAdapter DA1 = new SqlDataAdapter(QueryCompany, con);
        con.Open();
        DataTable DT1 = new DataTable();
        DA1.Fill(DT1);
        con.Close();
        DataView dv = new DataView(DT1);
        dv.RowFilter = "Title like '%" + cmbCompany.Text + "%'";
        cmbCompany.DisplayMember = "Title";
        cmbCompany.ValueMember = "id";
        cmbCompany.DataSource = dv;
    }

您能否为这个问题提供任何解决方案?

【问题讨论】:

    标签: c# sql visual-studio-2012 combobox dataview


    【解决方案1】:

    设置组合框的这些属性。

    cmbCompany.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
    cmbCompany.AutoCompleteSource = AutoCompleteSource.ListItems;
    

    移除事件TextChanged,并绑定comboboxdatasource一次(在加载或任何其他事件中)。

    private void Form1_Load(object sender, EventArgs e)
        {
    
            string QueryCompany = string.Format("select id,title from acc.dl union select null , null order by title");
            SqlDataAdapter DA1 = new SqlDataAdapter(QueryCompany, con);
            con.Open();
            DataTable DT1 = new DataTable();
            DA1.Fill(DT1);
            con.Close();
            cmbCompany.DataSource = DT1;
            cmbCompany.DisplayMember = "Title";
    
        }
    

    这应该符合您的预期。

    【讨论】:

    • 我尝试了表单加载事件,但输入新字母时项目没有更新。
    • 好像我误解了你的问题...你想直接从 db 搜索?
    【解决方案2】:

    改成这个

    cmbCompany.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
    cmbCompany.AutoCompleteSource = AutoCompleteSource.ListItems;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      相关资源
      最近更新 更多