مشاركة عبر


كيفية القيام بما يلي: تصفية البيانات في عرض

يوضح هذا المثال كيفية تصفية بيانات في طريقة عرض.

مثال

لإنشاء عامل تصفية ، قم بتعريف أسلوب يوفر منطق التصفية. يتم استخدام أسلوب رد اتصال و تقبل معلمة من نوع object. الأسلوب التالي يقوم بإرجاع كافة Order الكائنات ب filled تعيين الخاصية إلى "لا" تصفية باقي الكائنات.

Public Function Contains(ByVal de As Object) As Boolean
    Dim order1 As Order = TryCast(de, Order)
    Return (order1.Filled Is "No")
End Function
public bool Contains(object de)
{
    Order order = de as Order;
    //Return members whose Orders have not been filled
    return(order.Filled== "No");
}

ثم يمكنك تطبيق التصفية ، كما هو موضح في المثال التالي. في هذا المثال، myCollectionView هو ListCollectionView الكائن.

myCollectionView.Filter = new Predicate<object>(Contains);

للتراجع عن تصفية, يمكنك تعيين Filter خاصية إلى null:

myCollectionView.Filter = null;

لمزيد من المعلومات حول كيفية إنشاء أو الحصول على طريقة عرض, راجع كيفية القيام بما يلي: الحصول على طريقة العرض الافتراضية لتجميع البيانات. للمثال الكامل, راجع فرز و تصفية الأصناف في نموذج عرض.

إذا كائن العرض يأتي من CollectionViewSource الكائن, يمكنك تطبيق منطق التصفية عن طريق تعيين معالج الأحداث للحصول على Filter الحدث. في المثال التالي listingDataView مثيل CollectionViewSource.

listingDataView.Filter += new FilterEventHandler(ShowOnlyBargainsFilter);

فيما يلي تطبيق مثال ShowOnlyBargainsFilter معالج حدث التصفية. يستخدم معالج الحدث هذا Accepted الخاصية لتصفية AuctionItem الكائنات التي تحتوي على CurrentPrice 25ر.س أو أكثر.

private void ShowOnlyBargainsFilter(object sender, FilterEventArgs e)
{
    AuctionItem product = e.Item as AuctionItem;
    if (product != null)
    {
        // Filter out products with price 25 or above
        if (product.CurrentPrice < 25)
        {
            e.Accepted = true;
        }
        else
        {
            e.Accepted = false;
        }
    }
}

راجع أيضًا:

المهام

كيفية القيام بما يلي: فرز البيانات في العرض

المرجع

CanFilter

CustomFilter

المبادئ

نظرة عامة لربط البيانات

موارد أخرى

المواضيع الإجرائية لربط البيانات