(21-05-18, 09:54 PM)حريف برمجة كتب :(21-05-18, 02:43 PM)hqom كتب :السلام عليكم ورحمة الله
طلبي هو كود انشاء الله يكون سهل
عندي listview1
و
عندي listview2
الـ listview1 تحتوي على اسماء مثلاً
1- محمد عبد الله
2- قاسم امين
3 زكي جمعة
والـ listview2 تحتوي على ملعومات تخص كل واحد من هذه الاسماء مثلاً
1- محمد عبدالله - رقم الهاتف - تاريخ الميلاد
2- محمد عبدالله - رقم الهاتف - تاريخ الميلاد
3- محمد عبدالله - رقم الهاتف - تاريخ الميلاد
4- قاسم امين - رقم الهاتف - تاريخ الميلاد
5- قاسم امين - رقم الهاتف - تاريخ الميلاد
6- زكي جمعة - رقم الهاتف - تاريخ الميلاد
7- زكي جمعة - رقم الهاتف - تاريخ الميلاد
8- زكي جمعة - رقم الهاتف - تاريخ الميلاد
9- زكي جمعة - رقم الهاتف - تاريخ الميلاد
الطلب هنا ( لو اريد احدد Select على الـ،listview1 مثلاً حددت على ( محمد عبدالله )
اريد ان يضهر في الـlistview2 فقط محمد عبدالله حتى لو كان الاسم متكرر خمس مرات اريده ان يضهر فقط هو مع المتكرر بنفس الاسم
بأختصار عرض بيانات محمد عبدالله كلهاا الموجوده في listview2
يعني لو محمد عبدالله متكرر مرتين يضهرهم لو ثلاث مرات كذلك يضهرهم لي
المشروع بالمرفقات
وشكراً مقدماً
uppppppppp
upup
up
up
مرحبا ،،
فقط ضع هذا الكود وسوف ينفذ ما طلبت :
كود :
Private Sub ListView1_Click(sender As Object, e As EventArgs) Handles ListView1.Click
ListView2.Items.Clear()
Dim sql As String = "SELECT * FROM hqom where name_1='" & ListView1.SelectedItems.Item(0).SubItems(1).Text & "'"
cmd = New OleDbCommand(sql, con)
Try
con.Open()
adapter = New OleDbDataAdapter(cmd)
adapter.Fill(dt)
For Each row As DataRow In dt.Rows
Dim id As String = "" : If Not row.IsNull(0) Then id = row(0)
Dim name_1 As String = "" : If Not row.IsNull(1) Then name_1 = row(1)
Dim Mopile_1 As String = "" : If Not row.IsNull(2) Then Mopile_1 = row(2)
Dim Date_1 As String = "" : If Not row.IsNull(3) Then Date_1 = row(3)
Populate2(id, name_1, Mopile_1, Date_1)
Next
dt.Rows.Clear()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
con.Close()
End Try
End Sub
ثم تأكد من اسم زكي جمعه في الليست فيو 1 يطابق الموجود في قاعدة البيانات !
ابدااااااااااااااع تمام هو الكود المطلوب
(21-05-18, 05:18 PM)elgokr كتب :طبق التالى فى الملف المشروعفى السطر الخاص ..
كود :
Private Sub Retrieve2()
قم بتحويله الى التالى
كود :
Private Sub Retrieve2(ByVal NAME As String)
الخطوة التاليةفى السطر التالى
كود :
Dim sql As String = "SELECT * FROM hqom"
قم بتحويله الى الكود التالى
كود :
Dim sql As String = "SELECT * FROM hqom WHERE name_1 LIKE '% " & NAME & " %'"
الخطوة التاليةفى عملية اللود خاصة الفورم ( Private Sub Form1_Load)ستجد لديك الكود التالى
كود :
Retrieve2()
قم بتحويله الى
كود :
Retrieve2("")
الخطوة التاليةتعال عند ListView1 وقم بانشاء Event باسم SelectedIndexChangedليصبح الكود الكلى له
كود :
Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged
For aa As Integer = 0 To ListView1.SelectedItems.Count - 1
Retrieve2(ListView1.SelectedItems.Item(aa).SubItems(1).Text.ToString())
Next
End Sub
الان عند تشغيل المشروعستجد انه يقوم ListView2 بتححميل جميع محتوى قاعدة البياناتمن ثم عند تحديد اسم محدد من ListView1 يقوم بتحويل نتائج ListView2 الى ما يخص الاسم المحدد فقط
جرب وقل الناتج الذى تم معكتحياتى لك
بارك الله فيك ياخي الغالي ربي يحفظكم من كل شر
(21-05-18, 05:42 PM)عبدالله الدوسري كتب : وعليكم السلام ورحمة الله وبركاتة
الـ listview لا تدعم الفلترة
هذة طريقة أخرى بإستخدام الـ DataGridView
التعريفات العامة :
حدث تحميل النافذة :
أمر تحميل البيانات :
أمر يحدث عن أول تحميل فقط وهو لتسمية الأعمدة وترتيب ظهورها :
الحدث الذي يحدث عندما تقوم بتغيير السجل وبناءاً علية نقوم بعمل فلتر
المشروع :
شكراااا لك اخي الغالي ربي يحفظك من كل شر
كودك افادني جداً
(21-05-18, 09:54 PM)حريف برمجة كتب :(21-05-18, 02:43 PM)hqom كتب :السلام عليكم ورحمة الله
طلبي هو كود انشاء الله يكون سهل
عندي listview1
و
عندي listview2
الـ listview1 تحتوي على اسماء مثلاً
1- محمد عبد الله
2- قاسم امين
3 زكي جمعة
والـ listview2 تحتوي على ملعومات تخص كل واحد من هذه الاسماء مثلاً
1- محمد عبدالله - رقم الهاتف - تاريخ الميلاد
2- محمد عبدالله - رقم الهاتف - تاريخ الميلاد
3- محمد عبدالله - رقم الهاتف - تاريخ الميلاد
4- قاسم امين - رقم الهاتف - تاريخ الميلاد
5- قاسم امين - رقم الهاتف - تاريخ الميلاد
6- زكي جمعة - رقم الهاتف - تاريخ الميلاد
7- زكي جمعة - رقم الهاتف - تاريخ الميلاد
8- زكي جمعة - رقم الهاتف - تاريخ الميلاد
9- زكي جمعة - رقم الهاتف - تاريخ الميلاد
الطلب هنا ( لو اريد احدد Select على الـ،listview1 مثلاً حددت على ( محمد عبدالله )
اريد ان يضهر في الـlistview2 فقط محمد عبدالله حتى لو كان الاسم متكرر خمس مرات اريده ان يضهر فقط هو مع المتكرر بنفس الاسم
بأختصار عرض بيانات محمد عبدالله كلهاا الموجوده في listview2
يعني لو محمد عبدالله متكرر مرتين يضهرهم لو ثلاث مرات كذلك يضهرهم لي
المشروع بالمرفقات
وشكراً مقدماً
uppppppppp
upup
up
up
مرحبا ،،
فقط ضع هذا الكود وسوف ينفذ ما طلبت :
كود :
Private Sub ListView1_Click(sender As Object, e As EventArgs) Handles ListView1.Click
ListView2.Items.Clear()
Dim sql As String = "SELECT * FROM hqom where name_1='" & ListView1.SelectedItems.Item(0).SubItems(1).Text & "'"
cmd = New OleDbCommand(sql, con)
Try
con.Open()
adapter = New OleDbDataAdapter(cmd)
adapter.Fill(dt)
For Each row As DataRow In dt.Rows
Dim id As String = "" : If Not row.IsNull(0) Then id = row(0)
Dim name_1 As String = "" : If Not row.IsNull(1) Then name_1 = row(1)
Dim Mopile_1 As String = "" : If Not row.IsNull(2) Then Mopile_1 = row(2)
Dim Date_1 As String = "" : If Not row.IsNull(3) Then Date_1 = row(3)
Populate2(id, name_1, Mopile_1, Date_1)
Next
dt.Rows.Clear()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
con.Close()
End Try
End Sub
ثم تأكد من اسم زكي جمعه في الليست فيو 1 يطابق الموجود في قاعدة البيانات !
طيب اخي طلب اخير فقط
اللست فيو 1 اريدها ان تسحب الاسماء من قاعدة البيانات لكن بدون تكرار الاسم يعني
عندي محمد عبدالله متكرر ثلاث مرات
اريده ان يضهر في للست فيو 1 = مره واحده فقط

up