09-07-18, 08:53 PM
(آخر تعديل لهذه المشاركة : 09-07-18, 08:58 PM {2} بواسطة dametucorazon.)
(09-07-18, 02:35 PM)elgokr كتب :(09-07-18, 03:42 AM)dametucorazon كتب : تفضل اخي في الملف بالظبط ما اريده
اقوم اولا بنقل البيانات لفورم FORM3 وبعد ذلك اريد عمل فرز لا يعمل الكود
اريد ان يبحث عن القيمه التي يكتبها في تيكست بوكس وتمسح جميع الاسطر التى لا تحتوي علي الشي المكتوب
جميل...بنائاً على ما فهمته من السورس المرفق
ما رايك تقوم بالتعديلات التالية..تعال فى الفورم الرئيسي Form2
وقم باضافة التالى
كود :
Form3.dt = dt
اسفل
كود :
Form3.DataGridView1.DataSource = dt
وتعال فى الفورم الاخر Form3واضيف التالى
كود :
Public Shared dt As DataTable
اسفل
كود :
Public Class Form3
ثم اجعل كود (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