Home All Groups Group Topic Archive Search About

BindingList: How to implement Find?

Author
24 Feb 2006 8:31 AM
Pieter
Hi,

I have my own custom BindingList, that inherits from BindingList, and
implements IComponent.
I would like to implement a Find-method, that will allow me to search for a
property of my Items.

So basicly: If my Items in the List have a property Name, I would like to be
able to return with this method all the items that have Name = 'Bill Gates'
etc.

Any idea how I should implement this? Any hints, links, samples would be
really appreciated.

Thanks a lot in advance,

Pieter

Author
24 Feb 2006 9:50 AM
guy
Hi,
you need the following:-
    Protected Overrides ReadOnly Property SupportsSearchingCore() As Boolean
        Get
            Return True
        End Get
    End Property

then implement FindCore with your search
hint:
compare the PropertyDescriptor.GetValue with the property you are sorting
against


finally implement a GetItem (or similar) method something like:-

Public Function GetItem(ByVal ColumnName As String, ByVal ColumnValue As
Object) As T
        Dim properties As PropertyDescriptorCollection =
TypeDescriptor.GetProperties(Me.Items(0).GetType)
        Dim myProperty As PropertyDescriptor = properties.Find(ColumnName,
False)
       Dim i As Integer = FindCore(myProperty, ColumnValue)
        If i = -1 Then
            Return Nothing
        Else
            Return Me.Item(i)
        End If
    End Function

Show quote
"Pieter" wrote:

> Hi,
>
> I have my own custom BindingList, that inherits from BindingList, and
> implements IComponent.
> I would like to implement a Find-method, that will allow me to search for a
> property of my Items.
>
> So basicly: If my Items in the List have a property Name, I would like to be
> able to return with this method all the items that have Name = 'Bill Gates'
> etc.
>
> Any idea how I should implement this? Any hints, links, samples would be
> really appreciated.
>
> Thanks a lot in advance,
>
> Pieter
>
>
>

AddThis Social Bookmark Button