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

نسخة كاملة : مشكلة في عرض القيم الفارغة على الليست فيو ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
السلام عليكم

اعاني من مشكلة بعرض القيم على الليست فيو، عندما تكون احدى تلك القيم فارغة
كود :
Sub PopulateListView()

        With ListView1
            .Clear()
            .View = View.Details
            .Columns.Add("Beda_id", 0, HorizontalAlignment.Center)
            .Columns.Add("اســم المـــادة", 250, HorizontalAlignment.Left)
            .Columns.Add("سعر الشــراء", 100, HorizontalAlignment.Center)
            .Columns.Add("سعر المبيـع", 100, HorizontalAlignment.Center)
            .Columns.Add("ربح المـادة", 100, HorizontalAlignment.Center)
            .Columns.Add("ملاحظــــات", 400, HorizontalAlignment.Left)


            .GridLines = False
            .FullRowSelect = True
            .Cursor = Cursors.Hand
            .BackColor = Color.Beige
            .ForeColor = Color.Black


            Dim Lst As New ListViewItem
            Dim List = From B In db.Fixed_Bedas Select B

            For Each x In List
                Lst = New ListViewItem(x.Beda_id)
                Lst.SubItems.Add(x.Beda_Name)

                'If IsDBNull(x.Shra_Price) Then
                '    x.Shra_Price = 0
                'End If

                'If IsDBNull(x.Mabee_Price) Then
                '    x.Mabee_Price = 0
                'End If
                

                Lst.SubItems.Add(x.Shra_Price)
                Lst.SubItems.Add(x.Mabee_Price)
                Lst.SubItems.Add(x.Mabee_Price - x.Shra_Price)
                Lst.SubItems.Add(x.Beda_Note)
                .Items.Add(Lst)
            Next
        End With


        For Each LVI As ListViewItem In ListView1.Items
            LVI.SubItems.Item(2).Text = FormatNumber(LVI.SubItems.Item(2).Text, 0)
            LVI.SubItems.Item(3).Text = FormatNumber(LVI.SubItems.Item(3).Text, 0)
            LVI.SubItems.Item(4).Text = FormatNumber(LVI.SubItems.Item(4).Text, 0)
        Next

  
  End Sub

حاولت فحص قيمة المتغير فيما ادا كان فارغا من اجل اسناد قيمة الصفر له عن طريق كتابة
كود :
'If IsDBNull(x.Shra_Price) Then
                '    x.Shra_Price = 0
                'End If

الا ان الامر لم ينجح

ارجو المساعدة في تصويب الكود، بحيث يقبل اظهار القيم الفارغة ضمن الليست فيو

والف شكر
السلام عليكم ورحمة الله وبركاته

تفضل أخي استخدم هذه الدالة

كود :
Public Function GetValue(ByVal Value As String) As String
        Return IIf(String.IsNullOrEmpty(Value), "0", Value)
    End Function

وطريقة استعمالها

كود :
Lst.SubItems.Add(GetValue(x.Shra_Price))
        Lst.SubItems.Add(GetValue(x.Mabee_Price))
        Lst.SubItems.Add(GetValue(x.Mabee_Price - x.Shra_Price))

بالتوفيق
السلام عليكم
شكرا اخي
sooriaty
على تواصلك معي

تم تجريب ما تفضلت به حضرتك

ولكن للاسف مازالت ذات المشكلة !!!!
السلام عليكم ورحمة الله وبركاته

حسنا أخي جرب تعديل الدالة بحيث يكون المتغير الذي يتم تمريره من نوع Object
بهذه الطريقة

كود :
Public Function GetValue(ByVal Value As Object) As String
        Return CStr(IIf(IsNothing(Value), "0", Value))
End Function

جرب وأعلمني بالنتيجة
كان لية اح الاسئلة المشابة ورد علية احد اعضاء المنتدي الكرام اخي kslawy

جرب هذا الكود في الحدث ItemSelectionChanged الخاص بالأداة :

PHP كود :
Private Sub ListView1_ItemSelectionChanged(ByVal sender As ObjectByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgsHandles ListView1.ItemSelectionChanged
On Error Resume Next
        
If Not e.Item Is Nothing Then
            
If e.IsSelected True Then
                With e
.Item
                    Me
.TextBox1.Text IIf(.Text IsNot Nothing, .Text"")
                    
Me.TextBox2.Text IIf(.SubItems(1).Text IsNot Nothing, .SubItems(1).Text"")
                    
Me.TextBox3.Text IIf(.SubItems(2).Text IsNot Nothing, .SubItems(2).Text"")
                
End With
            End 
If
        
End If 

هذا رابط للموضوع
http://vb4arb.com/vb/showthread.php?tid=378

وبعد لما تخلص ضع قبل الكود في نفس الحدث iهذة العبارة لتنهي احتمالية اي اخطاء
On Error Resume Next
الف شكر
اخي sooriaty

نجح الحل المقدم من حضرتك
بارك الله فيك