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

البحث داخل DataGridview

بدأه محمد فؤاد تركي في 18 أكتوبر 2012 · 6 رد · 1,719 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الزملاء

السلام عليكم ورحمة الله وبركاتة

عند تحميل الفورم تقوم DataGridView بعمل فلتر بشكل تلقائي بناء علي قيمة موجوده داخل TextBox من خلال هذا الكود

 ds.Tables(0).DefaultView.RowFilter = "ItemGrp='" & Items.TxtGroup.Text

وبعد مشاهدة البيانات التي تم عمل عليها فلتر أريد ان أقوم بعمل فلتر آخر داخل هذا الفلتر من خلال هذا الكود

 ds.Tables(0).DefaultView.RowFilter = "ItemSize Like '%" & TxtFind.Text & "%'"

لكن النتيجة التي ظهرت لي عندما قمت بالضغط علي زر بحث جلب جمبع البيانات الموجوده داخل الجدول وتجاهلت الفلتر الاساسي

فهل يمكن عمل فلتر علي فلتر موجود أو بمعني آخر يمكن ان نسمية بحث تراكمي

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

السلام عليكم ..

اقتباس
فهل يمكن عمل فلتر علي فلتر موجود أو بمعني آخر يمكن ان نسمية بحث تراكمي
يمكن باستخدام AND ضمن فلتر , قيقوم بنفس مهمة البحث التراكمي .. مثال :

Public Class Form1
	Dim dt As New DataTable
	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    	dt.Columns.Add("c1")
    	dt.Columns.Add("c2")
    	dt.Columns.Add("c3")
    	dt.Rows.Add("AA", "BB", "CC")
    	dt.Rows.Add("DD", "EE", "FF")
    	DataGridView1.DataSource = dt

	End Sub

	Private Sub btnFilter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFilter.Click
    	Dim filterList As New List(Of String)
    	If Not String.IsNullOrEmpty(TextBox1.Text) Then filterList.Add(String.Format("c1 ='{0}'", TextBox1.Text))
    	If Not String.IsNullOrEmpty(TextBox2.Text) Then filterList.Add(String.Format("c2 ='{0}'", TextBox2.Text))
    	If Not String.IsNullOrEmpty(TextBox3.Text) Then filterList.Add(String.Format("c3 ='{0}'", TextBox3.Text))

    	Dim MyFilter = String.Join(" AND ", filterList.ToArray())
    	MsgBox(MyFilter)
    	dt.DefaultView.RowFilter = MyFilter
	End Sub
End Class
1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

بارك الله فيك أخي الفاضل حسام

سأحاول خلال اليوم ان اضع هنا مثال توضيحي عن المطلوب

#4

استاذ حسام

أعتذر لك عن التأخير في رفع مثال

شرح المثال

1- عندما نقوم بالضغط علي LuKup 1 يتم فتح شاشة المجموعات ثم يتم الضغط 2 كليك لاختيار مجموعة Screens مثلا

2- بعد الاختيار يتم الضغط علي Lukup 2 ليتم فتح شاشة المقاسات والتي عند فتحها تكون مفلترة بناء علي المجموعة المختارة في TextBox1 وهكذا عند اختيار مجموعة أخري مثلا عند اختيار مجموعة

Batteries يتم فتح شاشة Lukup 2 وبداخلها المقاسات التي هي مرتبطة بالمجموعة المختارة وهكذا

المشكلة هي عند فتح الشاشة الثانية وعند البحث بداخلها تظهر نتائج مرتبطة بمجموعات أخري لا توجد بداخل الفلتر الحالي والمطلوب عند البحث داخل الفلتر الحالي يتم البحث بداخل هذا الفلتر فقط وليس جميع البيانات الموجوده داخل الجدول

post-46243-060785400 1351053448_thumb.jp

post-46243-019276300 1351053510_thumb.jp

post-46243-069314700 1351055567_thumb.jp

post-46243-022683400 1351055588_thumb.jp

مرفق مثال + قاعدة البيانات

WindowsApplication1.rar

المرفقات
1.jpg2.jpg3.jpg4.jpg

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 24 أكتوبر 2012 في 08:14

1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

السلام عليكم ...

أهلا بك أخي محمد ...

اعتقد أنه فقط علينا تعديل هذه الأسطر :

   Private Sub LBSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LBSearch.Click
    	ds.Tables(0).DefaultView.RowFilter = "ItemGrp='" & Form1.TextBox1.Text & "' AND " & "ItemSize Like '%" & TxtFind.Text & "%'"
	End Sub

في الفورم ItemSizeslkup.vb كي تحوي المعامل AND الذي يقوم بالفلترة على شرطين هما ItemGrp و ItemSize معا ..

بالتوفيق ..

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#6

تسلم الايادي

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7

الله يسلمك أخي محمد .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

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