解决方案 »

  1.   

    在textchanged事件里,先记住当前的文本,然后清空combobox
    循环,if(list.contains(text)){combobox.items.add(list[i])}
    最后把text赋值回去,并设置光标位置到最后
      

  2.   

    参见:https://documentation.devexpress.com/#AspNet/clsDevExpressWebASPxEditorsASPxComboBoxtopic
      

  3.   

    就是输入某个数据后,动态模糊查询结果显示的意思吧?
     用异步实现  
    ASP.NET AJAX Control Toolkit 已经包含了这个特性:AutoCompleteExtender
      

  4.   

     protected void ASPxComboBox1_TextChanged(object sender, EventArgs e)
        {
              string NumDrop = this.ASPxComboBox1.Text.Trim();
              string code_query = "SELECT  * FROM base WHERE   (dwcode LIKE '%' + NumDrop + '%')";
              string strConnnection = System.Configuration.ConfigurationManager.ConnectionStrings["emailConnectionString"].ConnectionString;
              SqlConnection con = new SqlConnection(strConnnection);          //创建OleDbDataAdapter对象,按照指定的查询语句获取结果
              SqlDataAdapter cmd = new SqlDataAdapter(code_query, con);          //定义DataSet对象,将查询结果填充到这个对象上
              DataSet ds = new DataSet();
              cmd.Fill(ds, "contents");                 if (con.State == ConnectionState.Closed)
                     {
                         con.Open();
                     }
                  
                     List<string> code_num = new List<string>();
                     foreach (DataRow row in ds.Tables[0].Rows)
                     {
                         foreach (DataColumn column in ds.Tables[0].Columns)
                         {
                             code_num.Add(row[column].ToString());
                         }
                     }
                     int index=0;
                     for (int i = 0; i < code_num.Count; i++)
                     {
                         if (code_num[i] == NumDrop)
                         {
                             index = i;
                           
                         }
                     }
                     this.ASPxComboBox1.DataSource = ds  ;
                     this.ASPxComboBox1.SelectedIndex = index ;
                   
                 }这是我写的代码,运行完在ASPxComboBox1中输入信息回车,提示错误:列名 'NumDrop' 无效,为什么提示这个错误?
      

  5.   

    没有指定displayMember和valueMember
      

  6.   

    还有
    "SELECT  * FROM base WHERE   (dwcode LIKE '%' + NumDrop + '%')";
    这是什么写法,字符串拼接和SQL语句的知识需要恶补了
    +写在""里面,是要闹哪样
    断点,把你拼接的SQL语句抠出来看看是啥
      

  7.   

    this.ASPxComboBox1.displayMember="要显示的列名";
    this.ASPxComboBox1.valueMember ="值所在的列名";
    this.ASPxComboBox1.DataSource = ds  ;
      

  8.   

    "SELECT  * FROM base WHERE   (dwcode LIKE '%' + NumDrop + '%')";
    这么写没取出来,但是没觉得哪不对呢。
    this.ASPxComboBox1.displayMember="要显示的列名";
    this.ASPxComboBox1.valueMember ="值所在的列名";
    this.ASPxComboBox1.DataSource = ds  ; 
    ASPxComboBox1引不出来这两个属性,怎么办
      

  9.   

    "SELECT  * FROM base WHERE   (dwcode LIKE '%' + NumDrop + '%')";
    这么写没取出来,但是没觉得哪不对呢。你这个执行的就是
    SELECT  * FROM base WHERE   (dwcode LIKE '%' + NumDrop + '%')
    你觉得对么?
    所谓字符串拼接
    至少也要超过2对双引号吧,只有一对双引号,叫拼接么
      

  10.   

    "SELECT  * FROM base WHERE   dwcode  LIKE '%" + NumDrop + "%'";
    改成了这样,对了吧
      

  11.   

    就是说,你一共只有一个字符串,加号写在了字符串里面,是字符串的一部分,都整个当SQL语句去执行了你至少也要写成"str1"+"str2"的形式吧
      

  12.   

    又提示错误:Both DataSource and DataSourceID are defined on 'ASPxComboBox1'.  Remove one definition.
      

  13.   

    这个应该就是前面提到的,没有指定显示的列和值的列
    combobox不是表格,只能显示1列,另一列作为值.直接整个表绑定,不指定显示那一列,当然就出错了