日期:2014-05-17  浏览次数:20832 次

这种循环用什么方法做?
C# code

string a ="E070087B-1462-4D31-A61E-31702ADF976D";
ComboBox1.DataSource = dt;
ComboBox1.DisplayMember = "P_ClassName";//名称
ComboBox1.ValueMember = "ID";//这个ID也是GUID值


ComboBox1下拉有很多项,想通过查询如果项中的值与变量a相等,则ComboBox1.Text的值为相应的名称,如果没有则ComboBox1.Text为"没有相应项,请下拉选择"。但下拉的数据不清空。
目的就是想方便找出相同的值,而不用用户一个一个去下拉里面找。

------解决方案--------------------
先查询出所有项,绑定给ComboBox1,如果有值和string a 相等的话就处于选中状态。
------解决方案--------------------
绑定数据后 查找 有没有 值为 a Item 找到的话 就把默认选项 设置为 找的item
------解决方案--------------------
C# code

                    for (int 查 = 0; 查 < 下拉控件.Items.Count; 查++)
                    { 
                        DataRowView 项 = 下拉控件.Items[查] as DataRowView;
                        检 = 项.Row.ItemArray[0].ToString();
                        if (检.IndexOf(a) >= 0 ) { ...... }
                    }

------解决方案--------------------
举个例子给你看:

//要查找的字符串变量
 string a = "abc"; 
//创建一个combox控件,并赋值,如果你的控件已存在并有值,可以省略下面4行
ComboBox cm1 = new ComboBox();
cm1.Items.Add("abcde");
cm1.Items.Add("abc");
this.Controls.Add(cm1);

Int32 index = cm1.Items.IndexOf(a);
if (index != -1) cm1.Text = a; //找到
else { cm1.Text = "没有找到"; } //没有找到