منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مساعدة في Listview - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : مساعدة في Listview (/showthread.php?tid=10261)

الصفحات: 1 2


مساعدة في Listview - eng.khalidvb - 28-08-13

اخواني السلام عليكم ورحمه الله وبركاته


لدي مشكله اثناء عرض المعلومات من قاعدة بيانات اكسس الى 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


مساعدة في Listview - MSDOS - 28-08-13

جرب هذا التعديل
كود :
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



مساعدة في Listview - eng.khalidvb - 28-08-13

اخي msdos لم ينجح الكود نفس الخطا يظهر لي ..

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


مساعدة في Listview - MSDOS - 28-08-13

هل انتبهت للتعديل انسخه مرة أخرى وضعه في 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

انتظر ردك الآن


مساعدة في Listview - MSDOS - 28-08-13

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

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

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

اذا اردت عرض الصور داخل العرض استخدم DataGridView


مساعدة في Listview - eng.khalidvb - 28-08-13

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

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


مساعدة في Listview - eng.khalidvb - 28-08-13

طيب بس الخطاء يظهر ع طول على اول subitems الي هووو

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


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


انا استخدمة Datagridview وكل شي تمام بس اريد ان اجرب في اللست فيو


مساعدة في Listview - MSDOS - 28-08-13

اذا احتوى الحقل على 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 اذا كانت نصية ضع "" اي علامتين تنصيص بدون مسافة


مساعدة في Listview - eng.khalidvb - 29-08-13

اخي msdos هل تقصد ان اللست فيو لا تصلح لعرض الصور نهائيا اي انه ليس من خواصها ؟


مساعدة في Listview - MSDOS - 29-08-13

نعم ليس من خواصها، يمكن تحويل عمود منها لأي أداة ولكنها طريقة معقدة، ومادام عندنا البديل السهل فلنحقظ وقتنا ومجهودنا.