منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مساعدة في Listview
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
اخواني السلام عليكم ورحمه الله وبركاته


لدي مشكله اثناء عرض المعلومات من قاعدة بيانات اكسس الى Listview

هذا الكود :

PHP كود :
ListView1.View View.Details
        ListView1
.FullRowSelect True
        Me
.CenterToScreen()

        
ListView1.Columns.Add("Name"100)
        
ListView1.Columns.Add("country"100HorizontalAlignment.Center)
        
ListView1.Columns.Add("status"100HorizontalAlignment.Center)
        
ListView1.Columns.Add("internet"100HorizontalAlignment.Center)
        
ListView1.Columns.Add("sms"100HorizontalAlignment.Center)
        
ListView1.Columns.Add("Pic"100HorizontalAlignment.Center)

        
Dim DR As DataRow
        Dim Lst 
As ListViewItem
        
For Each DR In ds.Tables("Table1").Rows
            Lst 
ListView1.Items.Add(DR("Name"))
            
Lst.SubItems.Add(DR("country"))
            
Lst.SubItems.Add(DR("status"))
            
Lst.SubItems.Add(DR("internet"))
            
Lst.SubItems.Add(DR("sms"))
            
Lst.SubItems.Add(DR("pic"))

        
Next 


وهذا الخطأ الذي يظهر لي


[HTML]Overload resolution failed because no Public 'Add' can be called with these arguments:

'Public Function Add(item As System.Windows.Forms.ListViewItem.ListViewSubItem) As System.Windows.Forms.ListViewItem.ListViewSubItem':

Argument matching parameter 'item' cannot convert from 'DBNull' to 'ListViewSubItem'.

'Public Function Add(text As String) As System.Windows.Forms.ListViewItem.ListViewSubItem':

Argument matching parameter 'text' cannot convert from 'DBNull' to 'String'.[/HTML]


المشكلة تكون في اضافة العناصر الاخري بعد الــ Name

التي تكون عباره عن subitems

مع العلم ان ربط القاعدة والاتصال صحيح


فما المشكله ؟؟؟:confused:Sad
جرب هذا التعديل
كود :
ListView1.View = View.Details
ListView1.FullRowSelect = True
Me.CenterToScreen()

ListView1.Columns.Add("Name", 100)
ListView1.Columns.Add("country", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("status", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("internet", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("sms", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("Pic", 100, HorizontalAlignment.Center)

For Each row As DataRow In ds.Tables("Table1").Rows
    Dim itm As New ListViewItem
    itm.Text = row.Item("Name")
    itm.SubItems.Add(row.Item("country"))
    itm.SubItems.Add(row.Item("status"))
    itm.SubItems.Add(row.Item("internet"))
    itm.SubItems.Add(row.Item("sms"))
    itm.SubItems.Add(row.Item("pic"))
    ListView1.Items.Add(itm)
Next
اخي msdos لم ينجح الكود نفس الخطا يظهر لي ..

الكود كان شغال معاي زي الفل بس لما ضفت عمود اخر خاص باضافة الصورة ظهر عندي هذا الخطأ
هل انتبهت للتعديل انسخه مرة أخرى وضعه في Button

ما حكاية Public Function Add(ByVal item As System.Windows.Forms.ListViewItem.ListViewSubItem) As System.Windows.Forms.ListViewItem.ListViewSubItem
و Public Function Add(ByVal text As String) As System.Windows.Forms.ListViewItem.ListViewSubItem

انتظر ردك الآن
eng.khalidvb كتب :اخي msdos لم ينجح الكود نفس الخطا يظهر لي ..

الكود كان شغال معاي زي الفل بس لما ضفت عمود اخر خاص باضافة الصورة ظهر عندي هذا الخطأ

لم انتبه ان احد الحقول صورة ف ListView لا تصلح اعمدته للصور

اذا اردت عرض الصور داخل العرض استخدم DataGridView
اخي نسخة التعديل وجربته وظهرت نفس المشكله

اخي انا احاول ان اعرض بيانات قاعدة البيانات اكسس في اللست فيو عند تحميل الفورم يعني الكتب السابقة كاتبه في حدث form_load الكود كان شغال زي الفل بس انا حاولت اضيف عمود اخر لاضافة صوره والعمود من Ole object بعدما اضفت هذا االعمود الى قاعدة البيانات بداء هذا الخطاء بالظهور يعني كانه حدث الاضافة بالنسبة للعناصر subitems يجب ان يكون له حدث اضافة عام بالنسبة لكامل الفورم .. لم افهمه جيدا
طيب بس الخطاء يظهر ع طول على اول subitems الي هووو

PHP كود :
Lst.SubItems.Add(DR("country")) 


قبل ان يصل الى الشفرة الخاصه بعرض الصورة


انا استخدمة Datagridview وكل شي تمام بس اريد ان اجرب في اللست فيو
اذا احتوى الحقل على DBNull أي بدون اي بيانات (هذا يختلف عن الفارغة العاية) سوف يحدث خطأ

ممكن نعدل المثال لاختبار المحتوى مثل
كود :
ListView1.Columns.Add("Name", 100)
ListView1.Columns.Add("country", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("status", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("internet", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("sms", 100, HorizontalAlignment.Center)
ListView1.Columns.Add("Pic", 100, HorizontalAlignment.Center)

For Each row As DataRow In ds.Tables("Table1").Rows
Dim itm As New ListViewItem
    itm.Text = ListView1.Items.Add(IIf(IsDBNull(row.Item("Name")), "", row.Item("Name")))
    itm.SubItems.Add(IIf(IsDBNull(row.Item("country")), "", row.Item("country")))
    itm.SubItems.Add(IIf(IsDBNull(row.Item("status")), "", row.Item("status")))
    itm.SubItems.Add(IIf(IsDBNull(row.Item("internet")), "", row.Item("internet")))
    itm.SubItems.Add(IIf(IsDBNull(row.Item("sms")), "", row.Item("sms")))
    'itm.SubItems.Add(row.Item("pic"))
    ListView1.Items.Add(itm)
Next

طبعا في طريقة لتلافي DBNull بدون هذ الكود الكويل في كل سطر وذلك بوضع قيمة افتراضية اثناء انشاء الحقل في الجدول اعتقد في الخاصية DefaulValue اذا كانت نصية ضع "" اي علامتين تنصيص بدون مسافة
اخي msdos هل تقصد ان اللست فيو لا تصلح لعرض الصور نهائيا اي انه ليس من خواصها ؟
نعم ليس من خواصها، يمكن تحويل عمود منها لأي أداة ولكنها طريقة معقدة، ومادام عندنا البديل السهل فلنحقظ وقتنا ومجهودنا.
الصفحات : 1 2