السلام عليكم
اقوم بتنفيذ الاستعلام علي فورم وارسل النتائج الي فورم اخر
كيف يمكنني ان اقوم بعمل فلتر للمعروض فقط امامي
استخدمت هذا الكود للاخ سعود بس ماادرس ليش يظهر لي خطا عند حفظ سطر ال
DataGridView
Me.DataGridView1.Rows®.Visible = False
كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyData = Keys.Enter Then
If TextBox1.Text.Trim = "" Then
gd()
Else
For r As Integer = 0 To Me.DataGridView1.Rows.Count - IIf(DataGridView1.AllowUserToAddRows, 2, 1)
If Not (Me.DataGridView1.Rows(r).Cells(0).Value.ToString = TextBox1.Text) Then
Me.DataGridView1.Rows(r).Visible = False
Else
Me.DataGridView1.Rows(r).Visible = True
End If
Next
End If
End If
End Sub
اضافة لما قدمه اخي Amir_alzubidy
جرب تعديل الكود الخاص بك
لتعديل على جزؤ For لتجعله كما يلى
كود :
For r As Integer = 0 To DataGridView1.Rows.Count - 1
If DataGridView1.Rows(r).Cells(0).Value = TextBox1.Text Then
DataGridView1.Rows(r).Visible = True
Else
DataGridView1.Rows(r).Visible = False
End If
Next
تحياتى لك
وتمنياتى لك لاتوفيق
اخي الفاضل Amir_alzubidy
جزاك الله خيرا
أخي الفاضل (El Jokr)
جزاك الله خيرا
لم يعمل اي من الكودين شي حسب طلبي ربما لم استطيع ان اوضح طلبي جيدا
انا لدي داتا جريد مربوطه بالفعل بقاعده بيانات ولكنها بفورم اخر فورم فقط يظهر لاظهار نتائج اللاستعلامات
واريد ان اعطر للمستخدم ايضا امكانيه فرز للمعروض فقط امامه في هذا الفورم هل فهمتم علي ؟
الكود الذى وضعته فى المشاركة بداية الموضوع
هو كود يقوم بعمل بحث داخل الفورم وليس خارجه
وانت تريد ارسال نتائح البحث الى فورم اخر
فبدلاً ما اطرح عليك بعض الاسئلة لتوضح تويعة كل فورم
والفور الذى يقوم بالتنفيذ ثم ارساله الى الفورم الاخر
ارفق اى مثال بمشروع مصغر
حتى يتم توضيح ما لديك وكتابة الكود حسب المسميات
تحياتى لك
تفضل اخي في الملف بالظبط ما اريده
اقوم اولا بنقل البيانات لفورم FORM3 وبعد ذلك اريد عمل فرز لا يعمل الكود
اريد ان يبحث عن القيمه التي يكتبها في تيكست بوكس وتمسح جميع الاسطر التى لا تحتوي علي الشي المكتوب
(09-07-18, 03:42 AM)dametucorazon كتب : [ -> ]تفضل اخي في الملف بالظبط ما اريده
اقوم اولا بنقل البيانات لفورم FORM3 وبعد ذلك اريد عمل فرز لا يعمل الكود
اريد ان يبحث عن القيمه التي يكتبها في تيكست بوكس وتمسح جميع الاسطر التى لا تحتوي علي الشي المكتوب
جميل...
بنائاً على ما فهمته من السورس المرفق
ما رايك تقوم بالتعديلات التالية..
تعال فى الفورم الرئيسي Form2
وقم باضافة التالى
اسفل
كود :
Form3.DataGridView1.DataSource = dt
وتعال فى الفورم الاخر Form3
واضيف التالى
كود :
Public Shared dt As DataTable
اسفل
ثم اجعل كود (
TextBox1_KeyDown) على هذا الشكل
كود :
If e.KeyData = Keys.Enter Then
If Not IsNumeric(TextBox1.Text) Then
dt.DefaultView.RowFilter = "tn Like '%" & TextBox1.Text & "%'"
Else
dt.DefaultView.RowFilter = "n = " & TextBox1.Text
End If
End If
وبهذا الكود علتك تقدر تعمل فرز بالاسم و عن طريق الرقم
بمعنى لو كتبت 10 او 20 ستجد انه يعمل فرز
أو اذا كتبت حرف أو اسم كاملاً ستجد انه بيعمل فرز لعمود الاسماء
وستجد ان نتائج الفرز تتم على الفورم Form3 وكذلك Form2
بحيث انه عند اغلاق Form3 ستجد Form2 على وضع الفرز
ويمكنك اضافة لمسة جميلة وهو التالى
فى الفورم Form2 فى سطر كود فتح Form3
استبدله بالتالى
كود :
Form3.Show()
Me.Hide()
وتعال على الفورم Form3
واضع زر او كما تريد مكان استخدام الكود وضع التالى
كود :
Form2.Show()
Me.Close()
تحياتى لك
وتمنياتى لك التوفيق
(09-07-18, 02:35 PM)elgokr كتب : [ -> ] (09-07-18, 03:42 AM)dametucorazon كتب : [ -> ]تفضل اخي في الملف بالظبط ما اريده
اقوم اولا بنقل البيانات لفورم FORM3 وبعد ذلك اريد عمل فرز لا يعمل الكود
اريد ان يبحث عن القيمه التي يكتبها في تيكست بوكس وتمسح جميع الاسطر التى لا تحتوي علي الشي المكتوب
جميل...
بنائاً على ما فهمته من السورس المرفق
ما رايك تقوم بالتعديلات التالية..
تعال فى الفورم الرئيسي Form2
وقم باضافة التالى
اسفل
كود :
Form3.DataGridView1.DataSource = dt
وتعال فى الفورم الاخر Form3
واضيف التالى
كود :
Public Shared dt As DataTable
اسفل
ثم اجعل كود (TextBox1_KeyDown) على هذا الشكل
كود :
If e.KeyData = Keys.Enter Then
If Not IsNumeric(TextBox1.Text) Then
dt.DefaultView.RowFilter = "tn Like '%" & TextBox1.Text & "%'"
Else
dt.DefaultView.RowFilter = "n = " & TextBox1.Text
End If
End If
وبهذا الكود علتك تقدر تعمل فرز بالاسم و عن طريق الرقم
بمعنى لو كتبت 10 او 20 ستجد انه يعمل فرز
أو اذا كتبت حرف أو اسم كاملاً ستجد انه بيعمل فرز لعمود الاسماء
وستجد ان نتائج الفرز تتم على الفورم Form3 وكذلك Form2
بحيث انه عند اغلاق Form3 ستجد Form2 على وضع الفرز
ويمكنك اضافة لمسة جميلة وهو التالى
فى الفورم Form2 فى سطر كود فتح Form3
استبدله بالتالى
كود :
Form3.Show()
Me.Hide()
وتعال على الفورم Form3
واضع زر او كما تريد مكان استخدام الكود وضع التالى
كود :
Form2.Show()
Me.Close()
تحياتى لك
وتمنياتى لك التوفيق
شكرا لك اخي الفاضل نعم الان يعمل شكرا لك
ولكن اريد ان يقوم بالفرز من كل الاعمده بمجرد ان اكتب حرف فقد اضفت عمود جديد لقاعدة البيانات اريده ان يبحث بكل الاعمده وليس بدلاله عمود واحد
فالكود يبحث بدلاله الاسم اريد ان يتم البحث في كل الاعمده عند كتابه اول حرف
الكود يبحث الاسم بمجرد كتابه الحرف نعم يفرز اما الرقم لابد ان اكتبه جيد
انا اريد اذا كتبت جزء من اسم او جزء من رقم تظهر النتائج ويتم البحث في كل الاعمده
جربت الكود التالي ولكن لا يبحث الا بالاسم فقط
كود :
If e.KeyData = Keys.Enter Then
If Not IsNumeric(TextBox1.Text) Then
dt.DefaultView.RowFilter = "tn,mo,ms,mm,mn Like '%" & TextBox1.Text & "%'"
Else
dt.DefaultView.RowFilter = "n = " & TextBox1.Text
End If
End If
جزاك الله خيرا
يبدو ان فى خلل فى الردود
عند اضافة رد تحتوى على اكواد او اكود محددة
على العموم قمت بوضع الكود بعد التعديل
طبقاً للمسميات الذى تم كتابتها من قبلك للاعمدة
السورس بعد تعديل الكود بالمرفقات
تحياتى لك
جزاك الله خيرا لكن يظهر خطا ولا يتم تنفيذ الكود حضرتك جربته ؟
ستجد الخطاء الذى يحدث
بسبب كود الاستعلام لعرض البيانات عبارة عن اعمدة محددة
تم تعديل كود الاستعلام بالمرفق
وتاكد بان قاعدة البيانات لديك تحتوى على كلاً من
السورس بالمرفق
تحياتى لك
وتمنياتى لك التوفيق