IBindingList.Find(PropertyDescriptor, Object) Metod

Definition

Returnerar indexet för den rad som har angivet PropertyDescriptor.

public:
 int Find(System::ComponentModel::PropertyDescriptor ^ property, System::Object ^ key);
public int Find(System.ComponentModel.PropertyDescriptor property, object key);
abstract member Find : System.ComponentModel.PropertyDescriptor * obj -> int
Public Function Find (property As PropertyDescriptor, key As Object) As Integer

Parametrar

property
PropertyDescriptor

Att PropertyDescriptor söka på.

key
Object

Värdet för parametern som property ska sökas efter.

Returer

Indexet för den rad som har angivet PropertyDescriptor.

Undantag

Exempel

Följande kodexempel visar hur du implementerar Find metoden.

public class MyFontList : BindingList<Font>
{
    protected override bool SupportsSearchingCore => true;
    protected override int FindCore(PropertyDescriptor prop, object key)
    {
        // Ignore the prop value and search by family name.
        for (int i = 0; i < Count; ++i)
        {
            if (Items[i].FontFamily.Name.Equals((string)key, StringComparison.CurrentCultureIgnoreCase))
            {
                return i;
            }
        }
        return -1;
    }
}
Public Class MyFontList
    Inherits BindingList(Of Font)

    Protected Overrides ReadOnly Property SupportsSearchingCore() As Boolean
        Get
            Return True
        End Get
    End Property
    
    Protected Overrides Function FindCore(ByVal prop As PropertyDescriptor, _
        ByVal key As Object) As Integer
        ' Ignore the prop value and search by family name.
        Dim i As Integer
        While i < Count
            If Items(i).FontFamily.Name.ToLower() = CStr(key).ToLower() Then
                Return i
            End If
            i += 1
        End While

        Return -1
    End Function
End Class

Kommentarer

Den här metoden väljer den första raden där parameterns property värde är lika med parameterns key värde.

Den här metoden stöds om SupportsSearching är true, annars genererar den här metoden en NotSupportedException.

Gäller för