We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to find an item in a ComboBoxAdv using its ValueMember?

Platform: WinForms |
Control: ComboBoxAdv |
Published Date: April 30, 2011 |
Last Revised Date: July 10, 2014

 

We can find an item using ValueMember property, by deriving ComboBoxAdv and using reflection, ComboBoxAdv item can be retrived using ValueMember property.

C#

public int FindTextByValue(object Value)

{

int i = -1;

if (this.DataSource != null)

{

string val = Value.ToString();

IList collection = (IList)this.DataSource;

foreach (object o in collection)

{

Type t = o.GetType();

if (t != null)

{

PropertyInfo propertyInfo = t.GetProperty(this.ValueMember);

i++;

if (propertyInfo.GetValue(o, null).ToString() == val)

{

break;

}

}

}

}

return i;

}

VB

Public Function FindTextByValue(ByVal Value As Object) As Integer

Dim i As Integer = -1

If Me.DataSource IsNot Nothing Then

Dim val As String = Value.ToString()

Dim collection As IList = CType(Me.DataSource, IList)

For Each o As Object In collection

Dim t As Type = o.GetType()

If t IsNot Nothing Then

Dim propertyInfo As PropertyInfo = t.GetProperty(Me.ValueMember)

i += 1

If propertyInfo.GetValue(o, Nothing).ToString() = val Then

Exit For

End If

End If

Next o

End If

Return i

End Function

Sample:

http://help.syncfusion.com/support/samples/kb/tools.windows/kb_findtextbyvaluemember/Tools_WF_KB_ComboBoxFindText.zip

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon