文本框与下拉框相关联的问题 当在下拉框里找不到与文本框内容相对应的数据时,想让下拉框当前显示为空,请那位指点一下,先写啦!(下拉框的数据是通过数据库绑定的,不能随便増加项或减少项) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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; } 在事件中调用即可 这程序只能判断两个之间是否有相匹配的,请问着个BOOL值拿来怎么用,是用来设定下拉框的什么属性吗? 用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] ); } } } 谢谢laladeng,但照上面的代码话,当找不到匹配的,comboBox2就为空,但我须要在找不到匹配的时候下拉框里也有数据供选择. 你下拉框进行数据库绑定的时候顺便union select '';然后再查找,没找到再置空! 当在下拉框里找不到与文本框内容相对应的数据时,下拉框当前显示是一个text为空的item,但它本来的数据还是有的.哎,我自己都不知道怎么说了,希望有人能明白的,用专业术语帮我表达一下!不胜感激! 用个textbox把它掩盖住不就行了 当在下拉框里找不到与文本框内容相对应的数据时texbox.visible=true; elsetexbox.visible=false; 莫非是这样?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)"" ); } } TO km_yu:这样会覆盖掉一行数据呀! TO km_yu:我想错了,不会覆盖掉,可是两个控件重合不了to laladeng:我也想过这样,可是每查找一次就要对下拉框的项进行清除和添加,太耗资源了吧?有没有其它方法? 我是这样想的:要是"否",就在绑定的那下拉框直接加一TEXT为空的项,同时还有一布尔变量来判断是否加了一空项以免重复加 comboBox1.SelectedIndex = -1;显示就为空了 不好意思,今天才看贴.TO SCOW:我这样试过了,但执行了这句comboBox1.SelectedIndex还是等于零,不会等于-1的,所以才发贴问的.我想的和LALADENG的一样,没有其它方法了吗? 不会吧,我试了可以的vs2005(winform) 谢谢SCOW了,我想是因为我用的组件不是.NET环境自带的原因,所以不能执行那句话.我想应该结贴了! TextBox 如何限制字数 ? c#修改access的数据时,access是不是一定要设置主键? 不能上传视频文件 请教一个网站错误 最近在写一个画图程序。遇到一个算法问题。望大家指教 -=进来看看=- 急!!同一解决方案内的多个项目之间如何引用? 如何在 C# 程序中打开注册表编辑器 求教图片延迟加载问题(winform) 代码退休问题,个位大侠快来参与呀 DataSet中字段类型的尴尬! ???多线程数据库连接
{
for (int rol = 0; rol < ComboBoxTemp.Items.Count; rol++)
{
if (ComboBoxTemp.Items[rol].ToString() == str)
{
return true;
}
}
return false;
}
在事件中调用即可
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] );
}
}
}
哎,我自己都不知道怎么说了,希望有人能明白的,用专业术语帮我表达一下!不胜感激!
texbox.visible=true;
else
texbox.visible=false;
{
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)"" );
}
}
这样会覆盖掉一行数据呀!
我想错了,不会覆盖掉,可是两个控件重合不了
to laladeng:
我也想过这样,可是每查找一次就要对下拉框的项进行清除和添加,太耗资源了吧?有没有其它方法?
要是"否",就在绑定的那下拉框直接加一TEXT为空的项,同时还有一布尔变量来判断是否加了一空项以免重复加
我这样试过了,但执行了这句comboBox1.SelectedIndex还是等于零,不会等于-1的,所以才发贴问的.我想的和LALADENG的一样,没有其它方法了吗?
我想应该结贴了!