تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] طلب كود خاص في listview
#10
(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

up  Sadup  Sadup  Sadup  SadSad

مرحبا ،،

فقط ضع هذا الكود وسوف ينفذ ما طلبت :

كود :
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

up  Sadup  Sadup  Sadup  SadSad

مرحبا ،،

فقط ضع هذا الكود وسوف ينفذ ما طلبت :

كود :
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 = مره واحده فقط
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
طلب كود خاص في listview - بواسطة hqom - 21-05-18, 02:43 PM
RE: طلب كود خاص في listview - بواسطة elgokr - 21-05-18, 05:18 PM
RE: طلب كود خاص في listview - بواسطة elgokr - 21-05-18, 05:45 PM
RE: طلب كود خاص في listview - بواسطة elgokr - 21-05-18, 06:08 PM
RE: طلب كود خاص في listview - بواسطة elgokr - 21-05-18, 07:06 PM
RE: طلب كود خاص في listview - بواسطة hqom - 22-05-18, 02:57 PM
RE: طلب كود خاص في listview - بواسطة elgokr - 22-05-18, 08:13 PM
RE: طلب كود خاص في listview - بواسطة hqom - 22-05-18, 10:06 PM
RE: طلب كود خاص في listview - بواسطة elgokr - 22-05-18, 10:11 PM
RE: طلب كود خاص في listview - بواسطة hqom - 22-05-18, 10:20 PM


التنقل السريع :


يقوم بقرائة الموضوع: