تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في تجميع ارصدة الاصناف
#11
افعلها على تقرير reportviewer اسهل واسرع وامكانيات كبيرة
افضل من datagridview الى بعد فترة وتزايد المعلومات تصبح بطيئةجدا
لدرجة ان البعض يستخدم نظام الصفحات معها نصيح خليك على  reportviewer
افضل
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة: خالد
#12
(27-01-18, 09:31 PM)nooralcown كتب :

نريد ان نعرض البيانات بالطريقة الموضحة
 
رقم الصنف , اسم الصنف , الوحدة الرئيسية , الرصيد (= مجموع الحركات الواردة – مجموع الحركات الصادرة) سعر البيع , سعر الشراء ,رقم المجموعه التي ينتمي لها الصنف, هل الصنف رئيسي ام فرعي 





اذا ممكن اسماء الحقول على شكل نص. وليس صورة ليتم عمل الجملة . لتسهيل المساعدة .
الرد }}}
تم الشكر بواسطة: خالد
#13
لقد قمت بارفاق الجداول ويا ريت حد يساعدني الموضوع مهم جدا
الرد }}}
تم الشكر بواسطة:
#14
اتفضل اخي 
وكما قلت لك سابقا انها طريقة بدائية و عقيمة مع البيانات الكثيرة وستشعر بالثقل عند ذلك

صورة
   

و ده الكود المستخدم
PHP كود :
Public Class EX_1

    Private Sub Form3_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        
'هذا الكودلادخال البيانات في الدتا قريد فيو

        DGV1.Rows.Add(1000, "مكاوي", "", "", "", "", "", "", "نعم", "")
        DGV1.Rows.Add(1001, "مكاوي1", "قطعة", 120, 20, 10, 10, "2017/2/21", "لا", 1000)
        DGV1.Rows.Add(1002, "مكاوي2", "قطعة", 170, 20, 10, 10, "2017/2/21", "لا", 1000)
        DGV1.Rows.Add(2000, "استشوار", "", "", "", "", "", "", "نعم", "")
        DGV1.Rows.Add(2001, "استشوار1", "قطعة", 220, 40, 40, 40, "2017/3/26", "لا", 2000)
        DGV1.Rows.Add(2002, "استشوار2", "قطعة", 370, 60, 60, 60, "2017/3/26", "لا", 2000)

        '
هذا الكود لتلوين فقط

        For z 
As Integer 0 To DGV1.Rows.Count 2
            If DGV1
.Rows(z).Cells(8).Value "نعم" Then
                DGV1
.Rows(z).DefaultCellStyle.BackColor Color.Yellow
            End 
If
 
       Next

        
'هذا الكود الاساسي للترصيد

        Dim num(2) As Integer
        num(1) = 1000
        num(2) = -1
        For I As Integer = 0 To DGV1.Rows.Count - 2
            If DGV1.Rows(I).Cells(8).Value = "نعم" Then
                For x As Integer = 0 To DGV1.Rows.Count - 2
                    If Val(DGV1.Rows(x).Cells(0).Value) >= num(1) And Val(DGV1.Rows(x).Cells(0).Value) < num(1) + 1000 Then
                        num(0) += Val(DGV1.Rows(x).Cells(3).Value)
                        num(2) += 1
                    End If
                Next
                num(1) += 1000
                DGV1.Rows(I).Cells(3).Value = num(0)
                DGV1.Rows(I).Cells(9).Value = num(2)
                num(0) = 0
                num(2) = -1
            End If
        Next

    End Sub

End Class 


الملفات المرفقة
.rar    ترصيد مجموعات datagridview.rar (الحجم : 72.85 ك ب / التحميلات : 38)
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة: عبدالله الدوسري , خالد
#15
اشكرك علي المساعده استاذي الفاضل اتعبتك معي بس بصراحة الكود بطيئ بافكر اعمل اشي اسرع باذن الله ربنا يسهل
الرد }}}
تم الشكر بواسطة:
#16
أختي الكريمة nooralcown 



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

فأرجوا منك أختي الكريمة  إرفاق شيء جاهز . 
قابل للتعديل مباشرتاً 
وستجدين حلول مختلفة وكثيرة ( من مختلف الأعضاء - المبتدئين والمحترفين )


تعليق : الـ DataGridView سريعة جداً لمن يحسن التعامل معها , وتكفي لعرض أكثر من 40,000,000 أربعين مليون سجل وأكثر من ذلك ( حسب قدرة الجهاز وسرعتة وحجم ذاكرتة )
وهي سريعة لدرجة أن السجلات تظهر على الشاشة فجئة 

ومن غير المنطقي أو المعقول أن يقوم المبرمج بعرض 10,000 سجل في  الـ DataGridView  دفعة واحدة , إلا في حالات إستثنائية ونادرة
ولكن التعامل الطبيعي مع  الـ DataGridView هو بعرض عدد معقول من السجلات لكي يستطيع المستخدم التعامل معها


قوة الأداء تأتي من قوة فكر المبرمج وكيف يستخدم الكود
نعم جميع الطرق تؤدي إلى روما
ولكن هناك طريق سريع جداً لمن يعرف أن يسلك هذا الطريق 
والذي لا يعرفة!! سيسلك طريق من الممكن أن يكون طويل جداً






إذا كان بالإمكان وضع أو إرفاق شيء من مشروعك سيكون أفضل
الرد }}}
تم الشكر بواسطة: محمود صالح , خالد
#17
شكرا اخي ’’عبدالله الدوسري’’ على المساعده مرفق مثال مع قاعدة البيانات والمطلوب 


الملفات المرفقة
.rar   sample.rar (الحجم : 201.94 ك ب / التحميلات : 31)
الرد }}}
تم الشكر بواسطة:
#18
   

   

   

   

   


   

   


   

الأسهم التي تشير إلى أسماء الـFunctions معكوسة : لم أنتبة













المشروع بعد التعديل : لا تنسي تغيير ( نص الإتصال )

.zip   sample.zip (الحجم : 1.19 م ب / التحميلات : 61)
الرد }}}
تم الشكر بواسطة: محمود صالح , محمود صالح , sendbad100
#19
الله يعطيك الف عافية وبصراحة تعبان في الشرح والتوصيف ما شاء الله ربي يعطيك الصحة يا رب
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم