الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة عمل Filter عن طريق BindingSource

مغلق
بدأه palestineonnline في 1 ديسمبر 2006 · 2 رد · 1,214 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عبيكم

أخواني الأعزاء كيف يمكنني عمل بحث عن طريق الفلتر Filter اموجود في bindingsource وما أرديده هو عن طريق الحدث keyUp الموجود مع textbox بحيث يدخل اول حرف يقوم بالبحث داخل table وهذا كل شيء يرجى ارفاق ملف كمثال حبذا

#2

السلام عليكم

أحسن الله إليك : عملية التصفية Filter ليس هذا المكان المناسب لها خصوصاً إذا كان العنصر BindingSource هو المعني

لانه تصفية الـ BindingSource هو إعتماد بيانات العنصر المرتبط بعامودٍ ما يتم تصفيت الجدول ككل وفقاً لقيمةٍ ما في عامود أخر,

سواءً كان في نفس الجدول أو من مصدرٍ اخر. على سبيل المثال

لتصفية جدول العملاء Customers وفقاً لقيمة العامود ContactTitle الموجودة في نفس الجدول سيكون بهذا الشكل.

 CustomersBindingSource.Filter = "ContactTitle = 'Owner'"

ستظهر كل الصفوف التي تكون قيمة ContactTitle تساوي القيمة Owner .

أما طلبك فيستحسن أن تقوم بعملية trick وهو أن تضع بدل الـ TextBox بـ ComboBox لأجل البحث في مواد قائمته

وتقوم بالامر التالية لتحقيق الطلب , إليك ذلك.

'Normal ComboBox Functionalities...
		With Me.CBoxNormal

			'Act as Text box Object.
			.DropDownStyle = ComboBoxStyle.Simple

			'Append نمط البحث في القائمة المنسدلة على اساس التكملة
			.AutoCompleteMode = AutoCompleteMode.Append

			'ListItems مصدر البحث في القائمة المنسدلة هي قائمة المواد للقائمة نفسها
			.AutoCompleteSource = AutoCompleteSource.ListItems

		End With

ملاحظة : وصولك للحل يعتمد على أسهامك في الشرح .

بالتوفيق إن شاء الله

في المثال يتضح المقال

#3

السلام عليكم

-------------

أخي العزيز الغملاسي

اقتباس
هو إعتماد بيانات العنصر المرتبط بعامودٍ ما يتم تصفيت الجدول ككل وفقاً لقيمةٍ ما في عامود أخر

أفهم من كلامك ان عملية sort الموجودة في binding source تعتمد على القيمة كاملة الموجودة في عمود ما وليس البحث عن أي حرف من كلمة ما

يعني عندما أضع هذا الكوود في حدث keyup او textchanged الموجود في textbox وابحث عن حرف ما من اسم شخص ما لم يعطيني اي قيمة الا اذا ادخلت الاسم كامل

مثلا

Me.BindingSource1.Filter = "EmpName='" & Me.txtempName.Text

لن يقوم بالبحث (اي عمل عملية تصفية )عن الأسم بمجرد ادخالي اول حرف من الاسم ..

والسلام خير ختااام

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

هذا الموضوع مغلق.

مواضيع مشابهة