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

c#中从ComboBox检索指定的项并显示该项的问题
RT
我先在程序中通过以下语句为下拉列表框绑定数据源
strSQL = "select ID,Name from table1";
...
cmbBox1.DisplayMember = "Name";
cmbBox1.ValueMember = "ID";
执行到这儿,这个cmbBox1就已经绑定了数据,可以正常显示值了。

下一步,我想根据在其他控件指定的值(strValue、该值就包含在上述cmbBox1的值集合里),从cmbBox1里检索到该值的索引,进而根据得到的索引值让cmbBox1显示该值。语句如下:
intIndex = cmbBox1.Items.IndexOf(strValue);
cmbBox1.SelectedIndex = intIndex;

按照通常的用法,执行到这儿cmbBox1就会显示strValue这个项了,但我的程序却不管把strValue设成cnbBox1数据源的DisplayMember或ValueMember的值,始终都不能检索到希望的索引,一直都返回-1。猜想是不是因为采用了绑定DisplayMember和ValueMember这种方式,造成单纯的strValue指定不能正常工作了。但又不知道该怎么传递正确的strValue参数给IndexOf()方法。

请高手指导。

------解决方案--------------------

cmbBox1.selectvalue="admin";