string strSQL2;
strSQL2 = "SELECT SUP_NO,STR(SUP_NO) + ' ' +COMPANY_NAME AS SC FROM t_b_SUPPLIER WHERE STATUS!=9 ORDER BY SUP_NO ASC";
SqlDataAdapter da2 = new SqlDataAdapter(strSQL2, conn);
DataSet ds2 = new DataSet();
da2.Fill(ds2,"supplier");
SUP_NO.DataSource = ds2 ;
SUP_NO.DisplayMember = "supplier.SC";
SUP_NO.ValueMember = "supplier.SUP_NO";
SUP_NO.SelectedIndex = -1;
我用FindString方法不能查找到这个COMBOBOX中输入的字符所对应的值,我检查发现是因为DisplayMember 中STR(SUP_NO) + ' ' +COMPANY_NAME AS SC 原来SUP_NO进行了字符转换,请问我该如何才能找到对应的值呢?
int sup_no = SUP_NO.FindString(SUP_NO.Text.Trim());
SUP_NO.SelectedIndex = sup_no;

解决方案 »

  1.   

    就是因为STR(SUP_NO) + ' ' +COMPANY_NAME AS SC 这句话的问题,因为SUP_NO和COMPANY_NAME的类型不同,所以我进行了转换,SUP_NO是数值型的,这样写发现FINDSTRING无法进行匹配而另外一些不转换的COMBOBOX则可以,因此应该是转换的问题,而不转换SQL无法从数据库中读出数据,请问应该如何解决这个问题?
      

  2.   

    如果是autocompleted的话,参看
    http://www.codeproject.com/managedcpp/mcppautocombo.asp
      

  3.   

    sorry!
    http://www.codeproject.com/vb/net/AutoCompleteComboBox.asp