2011-11-17 92 views
0

我有型RadMultiColumnComboBox的ComboBox控件,我试图寻找并找到一个字符串,然后设置所选指数编程。的WinForms - 组合框:查找所选的项目,设置索引

这里是我的代码:

 // get reference to drop down: 
     RadMultiColumnComboBox myComboBox = this.BaseFieldControl; 

     // find and set: 
     string toFind = "SomeValue"; 
     myComboBox.SelectedIndex = myComboBox .FindExact(toFind); 

的问题是,FindExact方法返回控制-1不管我进入FindExact什么字符串。

当应用程序正在运行我使用立即窗口来测试和输入各种串;无论我使用什么字符串,它都会返回-1。

如果我检查myComboBox有在DataSource属性10个项目。

这里是ComboBox的表示 - 它可以帮助:

enter image description here

回答

4

你可以从数据源数据源投原始类型,发现指数:红帽

var data=(List<YourType)myComboBox.DataSource; 
myComboBox.SelectedIndex=data.FindIndex(p=>p.Text=="SomeValue"); 
+0

感谢 - 我现在进行测试。 – nocarrier

+0

p.Text是一个你必须用p代替的例子(你的文件想要搜索)==“SomeData” –

+0

我收到一个异常: {“无法转换'System.ComponentModel.BindingList'类型的对象1 ECS.Common.Entities.MyType]为键入” System.Collections.Generic.List'1 [ECS.Common.Entities.MyType]'。“} – nocarrier