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

نسخة كاملة : الحصول على مجموع الارقام
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الحصول على مجموع الارقام من اداه ListView اذا كان يوجد هذه items
1E
2E
3E
10E
15E
اريد الحصول على مجموع هذه الارقام استخدم 
كود :
   Public Shared Function GetTotal() As Decimal
       Dim TotalValue As Decimal
       Dim Itm As Decimal

       For n As Integer = 0 To ListView1.Items.Count - 1

           If Decimal.TryParse(ListView1.Items(n).Text.First, Itm) Then
               TotalValue += Itm
           End If
       Next

       Return TotalValue
   End Function
للحصول على الناتج لاكن لا يمكن جمع اكثر من رقم بمعنى اخر لايمكن جمع 10E او 15E سوف يجمع القيمة على انها 1 نلاحظ ان فى الكود First هذا هو السبب هل من حل لجمع جميع الارقام التى قبل حرف E حيث حرف E ثابت و لايمكن تغيرة مثلآ 1EQQQW 10ERRRE ... مثل هذا
PHP كود :
       Dim value As Decimal Nothing
        Dim result 
As Decimal 0
        For i 
As Integer 0 To ListBox1.Items.Count 1
            Dim item 
As String ListBox1.Items(i).ToString
            If Not String
.IsNullOrEmpty(itemThen
                Dim current 
As String() = item.Split("E"c)
 
               If Decimal.TryParse(current(0), valueThen
                    result 
+= value
                End 
If
 
           End If
 
       Next 
السلام عليكم


تفضل عدة طرق

كود :
Public Function GetTotal() As Decimal
    Dim TotalValue As Decimal
    For n As Integer = 0 To ListView1.Items.Count - 1
        TotalValue += Val(ListView1.Items(n).Text)
    Next
    Return TotalValue
End Function
أو
كود :
Public Function GetTotal() As Decimal
    Dim TotalValue As Decimal
    For Each Item In ListView1.Items
        TotalValue += Val(Item.Text)
    Next
    Return TotalValue
End Function
أو
كود :
Public Function GetTotal() As Decimal
    Return ListView1.Items.Cast(Of ListViewItem).Select(Function(x) Val(x.Text)).Sum
End Function
أو إذا أردت تحديد عمود غير العمود الأول
كود :
Public Function GetTotal(Optional indx As Integer = 0) As Decimal
    Return ListView1.Items.Cast(Of ListViewItem).Select(Function(x) Val(x.SubItems(indx).Text)).Sum
End Function
(15-01-17, 09:46 PM)مساعدة كتب : [ -> ]السلام عليكم


تفضل عدة طرق

كود :
Public Function GetTotal() As Decimal
   Dim TotalValue As Decimal
   For n As Integer = 0 To ListView1.Items.Count - 1
       TotalValue += Val(ListView1.Items(n).Text)
   Next
   Return TotalValue
End Function
أو
كود :
Public Function GetTotal() As Decimal
   Dim TotalValue As Decimal
   For Each Item In ListView1.Items
       TotalValue += Val(Item.Text)
   Next
   Return TotalValue
End Function
أو
كود :
Public Function GetTotal() As Decimal
   Return ListView1.Items.Cast(Of ListViewItem).Select(Function(x) Val(x.Text)).Sum
End Function
أو إذا أردت تحديد عمود غير العمود الأول
كود :
Public Function GetTotal(Optional indx As Integer = 0) As Decimal
   Return ListView1.Items.Cast(Of ListViewItem).Select(Function(x) Val(x.SubItems(indx).Text)).Sum
End Function
جزاك الله خير شكرآ اخى