当在下拉框里找不到与文本框内容相对应的数据时,想让下拉框当前显示为空,请那位指点一下,先写啦!
(下拉框的数据是通过数据库绑定的,不能随便増加项或减少项)

解决方案 »

  1.   

    private bool CheckItems(ComboBox ComboBoxTemp, string str)
            {
                for (int rol = 0; rol < ComboBoxTemp.Items.Count; rol++)
                {
                    if (ComboBoxTemp.Items[rol].ToString() == str)
                    { 
                        return true; 
                    }
                }
                return false;
            }
          在事件中调用即可
      

  2.   

    这程序只能判断两个之间是否有相匹配的,请问着个BOOL值拿来怎么用,是用来设定下拉框的什么属性吗?
      

  3.   

    用comboBox1(隐藏)绑定数据,comboBox2展示给用户,comboBox2动态加载comboBox1的数据代码如下:
    private bool ItemExist( ComboBox cb, string st )
            {
                for ( int i = 0; i < cb.Items.Count; i++ )
                {
                    if ( cb.Items[i].ToString() == st )
                    { 
                        return true; 
                    }
                }
                return false;
            }private void comboBox2_DropDown(object sender, System.EventArgs e)
            {           
                this.comboBox2.Items.Clear();            if ( ItemExist( this.comboBox1,this.comboBox2.Text ) )
                {
                    for ( int i = 0 ; i < this.comboBox1.Items.Count ; i++ )
                    {
                        this.comboBox2.Items.Add( this.comboBox1.Items[i] );
                    }
                }
            }
      

  4.   

    谢谢laladeng,但照上面的代码话,当找不到匹配的,comboBox2就为空,但我须要在找不到匹配的时候下拉框里也有数据供选择.
      

  5.   

    你下拉框进行数据库绑定的时候顺便union select '';然后再查找,没找到再置空!
      

  6.   

    当在下拉框里找不到与文本框内容相对应的数据时,下拉框当前显示是一个text为空的item,但它本来的数据还是有的.
    哎,我自己都不知道怎么说了,希望有人能明白的,用专业术语帮我表达一下!不胜感激!
      

  7.   

    用个textbox把它掩盖住不就行了 当在下拉框里找不到与文本框内容相对应的数据时
    texbox.visible=true; 
    else
    texbox.visible=false;
      

  8.   

    莫非是这样?private void comboBox2_DropDown(object sender, System.EventArgs e)
            {           
                this.comboBox2.Items.Clear();            for ( int i = 0 ; i < this.comboBox1.Items.Count ; i++ )
                {
                    this.comboBox2.Items.Add( this.comboBox1.Items[i] );
                }            if ( !ItemExist( this.comboBox1,this.comboBox2.Text ) )
                {
                    this.comboBox2.Items.Insert( 0, (object)"" );
                }
            }
      

  9.   

    TO km_yu:
    这样会覆盖掉一行数据呀!
      

  10.   

    TO km_yu:
    我想错了,不会覆盖掉,可是两个控件重合不了
    to laladeng:
    我也想过这样,可是每查找一次就要对下拉框的项进行清除和添加,太耗资源了吧?有没有其它方法?
      

  11.   

    我是这样想的:
    要是"否",就在绑定的那下拉框直接加一TEXT为空的项,同时还有一布尔变量来判断是否加了一空项以免重复加
      

  12.   

    comboBox1.SelectedIndex = -1;显示就为空了
      

  13.   

    不好意思,今天才看贴.TO SCOW:
    我这样试过了,但执行了这句comboBox1.SelectedIndex还是等于零,不会等于-1的,所以才发贴问的.我想的和LALADENG的一样,没有其它方法了吗?
      

  14.   

    不会吧,我试了可以的vs2005(winform)
      

  15.   

    谢谢SCOW了,我想是因为我用的组件不是.NET环境自带的原因,所以不能执行那句话.
    我想应该结贴了!