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

نسخة كاملة : جمع قيم عمود محدد لأي من DataGridView و LisBox و ListView و DataTable
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته


جمع قيم عمود محدد لأي من DataGridView و LisBox و ListView و DataTable باستخدام Linq
ونظراً لكوني لا أتقن Linq فقد جمعتها وعدلتها بصعوبة بالغة.
كود :
' الكود المطول
Me.TextBox1.Text = (From row In DataGridView1.Rows.Cast(Of DataGridViewRow)() Select CDbl(row.Cells(0).Value)).Sum()
Me.TextBox2.Text = (From item In ListBox1.Items.Cast(Of String)() Select CDbl(item(0).ToString)).Sum()
Me.TextBox3.Text = (From item In ListView1.Items.Cast(Of ListViewItem)() Select CDbl(item.SubItems(0).Text)).Sum()
Me.TextBox4.Text = (From row In DataTable1.Rows.Cast(Of DataRow)() Select CDbl(row.Item(0))).Sum()

' الكود المختصر
Me.TextBox1.Text = (From row In DataGridView1.Rows Select CDbl(row.Cells(0).Value)).Sum()
Me.TextBox2.Text = (From item In ListBox1.Items Select CDbl(item(0).ToString)).Sum()
Me.TextBox3.Text = (From item In ListView1.Items Select CDbl(item.SubItems(0).Text)).Sum()
Me.TextBox4.Text = (From row In DataTable1.Rows Select CDbl(row.Item(0))).Sum()

يوجد مثال في المرفقات للتجربة


السلام عليكم ورحمة الله وبركاته
ممتاز اخى ابو رائد ... بارك الله فيك
السلام عليكم

الله يعطيك العافية أستاذنا الكبير ..

ومن الممكن التعامل مع الأرقام بالطريقة التالية :
كود :
Dim Lst() As Integer = {3, 5, 6, 7, 8, 9}
        Dim Sm = Aggregate c In Lst Into Sum()
        Dim Aver = Aggregate Av In Lst Into Average()
        Dim Mn = Aggregate m In Lst Into Min()
        Dim Mx = Aggregate x In Lst Into Max()
        Dim fr = Aggregate F In Lst Into First()
        Dim l = Aggregate Ls In Lst Into Last()

والقائمة تطول ....
بارك الله فيك أخي @@ابو رائد@@ على هذه المشاركة الجميلة.

و بارك الله فيك أخي "أبو إيهاب" على مشاركتك الجميلة أيضاً....


تحياتي
يعطيك العافية
مجهود رائع
تسلم وشكرا للعملومة ... اين اجد شرح وافى لل Linq
شكرا جزيلاً
جزاك الله خير