تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
نقل بيانات داتاا جريد الي اخري
#1
هذا الكود ينقل بيانات داتا جريد الي اخري 
لكن يحدث تكرار  للصفوف
برجاء عدم التكرار


        For i = 0 To DataGridView1.Rows.Count - 1
            If DataGridView1.Rows(i).Cells("counters").Value > 0 Then
                row = tempTable.NewRow
                row("كود الصنف") = DataGridView1.Rows(i).Cells("itcod").Value
                row("المجموعة") = DataGridView1.Rows(i).Cells("gname").Value
                row("اسم الصنف") = DataGridView1.Rows(i).Cells("invsun").Value
                row("الكمية") = DataGridView1.Rows(i).Cells("counters").Value
                row("السعر") = DataGridView1.Rows(i).Cells("sprice").Value
                row("الاجمالي") = DataGridView1.Rows(i).Cells("netsal").Value
                row("كود") = DataGridView1.Rows(i).Cells("makas").Value
                row("رصيد") = DataGridView1.Rows(i).Cells("raseedakher").Value

                tempTable.Rows.Add(row)
            End If
 
            DataGridView2.Columns(7).Width = 50
            DataGridView2.Columns(8).Width = 50
        Next
        DataGridView2.DataSource = tempTable
الرد }}}
تم الشكر بواسطة:
#2
فى البداية اذا كان الـ DataGridView1
تحتوى على بيانات من خلال كود الاستعلام او ما شبه مثل DataTable او DataSet
اى انه لم يتم تعبئته يدوياً فكل ما ستفعله هو التالى
كود :
DataGridView2.DataSource = DataGridView1.DataSource

طيب واذا كان التعبئة تتم يدوياً
فيوجد طرق كثيرة ومنها الطريقة التالية
كود :
       DataGridView2.ColumnCount = DataGridView1.ColumnCount
       For ii As Integer = 0 To DataGridView1.ColumnCount - 1
           DataGridView2.Columns(ii).Name = DataGridView1.Columns(ii).Name
       Next
       Dim row As String()
       For ii As Integer = 0 To DataGridView1.RowCount - 1
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value, DataGridView1.Rows(ii).Cells(2).Value}
           DataGridView2.Rows.Add(row)
       Next

كود المثال عبارة عن بيانات 3 اعمدة اذا كان لديك اكثر فكل ما عليك التعديل على هذا السطر
كود :
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value, DataGridView1.Rows(ii).Cells(2).Value}

ليتحول الى 4 بهذا الشكل
كود :
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value, DataGridView1.Rows(ii).Cells(2).Value, DataGridView1.Rows(ii).Cells(3).Value}

ويصبح بيانات عمودين فقط بهذا الشكل
كود :
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value}

اتمنى ام تكون الصورة كملت لك كلياً

كما يمكنك ان تجعل الكود بهذا الشكل دون الحاجة الى اى تعديلات 
او اضافات وهو سيقوم بجلب جميع البيانات تلقائي
كود :
       DataGridView2.ColumnCount = DataGridView1.ColumnCount
       For ii As Integer = 0 To DataGridView1.ColumnCount - 1
           DataGridView2.Columns(ii).Name = DataGridView1.Columns(ii).Name
       Next
       Dim row As String()
       For ii As Integer = 0 To DataGridView1.RowCount - 1
           row = New String() {}
           For i As Integer = 0 To DataGridView1.ColumnCount - 1
               row(i) = DataGridView1.Rows(ii).Cells(i).Value
           Next
           DataGridView2.Rows.Add(row)
       Next

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#3
ردود  شافية اضافت لي ولغيري الكثير
دائما مرجعنا في العلم
شكرا
الرد }}}
تم الشكر بواسطة: elgokr , elgokr , اسامه الهرماوي , ابو انس
#4
(03-11-18, 11:55 AM)atefkhalf2004 كتب : ردود  شافية اضافت لي ولغيري الكثير
دائما مرجعنا في العلم
شكرا


الشكر لله والحمد لله

والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#5
(02-11-18, 06:24 PM)elgokr كتب : فى البداية اذا كان الـ DataGridView1
تحتوى على بيانات من خلال كود الاستعلام او ما شبه مثل DataTable او DataSet
اى انه لم يتم تعبئته يدوياً فكل ما ستفعله هو التالى
كود :
DataGridView2.DataSource = DataGridView1.DataSource

طيب واذا كان التعبئة تتم يدوياً
فيوجد طرق كثيرة ومنها الطريقة التالية
كود :
ج        DataGridView2.ColumnCount = DataGridView1.ColumnCount
       For ii As Integer = 0 To DataGridView1.ColumnCount - 1
           DataGridView2.Columns(ii).Name = DataGridView1.Columns(ii).Name
       Next
       Dim row As String()
       For ii As Integer = 0 To DataGridView1.RowCount - 1
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value, DataGridView1.Rows(ii).Cells(2).Value}
           DataGridView2.Rows.Add(row)
       Next

كود المثال عبارة عن بيانات 3 اعمدة اذا كان لديك اكثر فكل ما عليك التعديل على هذا السطر
كود :
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value, DataGridView1.Rows(ii).Cells(2).Value}

ليتحول الى 4 بهذا الشكل
كود :
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value, DataGridView1.Rows(ii).Cells(2).Value, DataGridView1.Rows(ii).Cells(3).Value}

ويصبح بيانات عمودين فقط بهذا الشكل
كود :
           row = New String() {DataGridView1.Rows(ii).Cells(0).Value, DataGridView1.Rows(ii).Cells(1).Value}

اتمنى ام تكون الصورة كملت لك كلياً

كما يمكنك ان تجعل الكود بهذا الشكل دون الحاجة الى اى تعديلات 
او اضافات وهو سيقوم بجلب جميع البيانات تلقائي
كود :
       DataGridView2.ColumnCount = DataGridView1.ColumnCount
       For ii As Integer = 0 To DataGridView1.ColumnCount - 1
           DataGridView2.Columns(ii).Name = DataGridView1.Columns(ii).Name
       Next
       Dim row As String()
       For ii As Integer = 0 To DataGridView1.RowCount - 1
           row = New String() {}
           For i As Integer = 0 To DataGridView1.ColumnCount - 1
               row(i) = DataGridView1.Rows(ii).Cells(i).Value
           Next
           DataGridView2.Rows.Add(row)
       Next

تحياتى لك
وتمنياتى لك التوفيق
جزيل الشكر ردود غايه بالوضوح اتمنى لك السعاده

اللهم اني قد نذرت نفسي لمساعدت الاخرين فوفقني وكن لي معين
جاهز لمساعدة اي حد يحتاج لمساعدتي
طبيب اعشق البرمجة . 
الرد }}}
#6
بسم الله ما شاء الله عليك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طلب تعديل كود عرض بيانات xlsx ABDULLAH HASSAN 1 16 منذ 1 ساعه مضت
آخر رد: justforit
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 145 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 658 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  استعلام select عن مجموعة بيانات Adel27213 1 215 15-03-24, 01:11 AM
آخر رد: justforit
  مشكلة فى جمع عمود فى داتا جريد فيو احمد خطاب 3 167 06-03-24, 07:49 PM
آخر رد: احمد خطاب
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 201 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  حذف الاسطر الفارغه من الداتا جريد فيو اليوم السابع 3 2,383 03-03-24, 12:57 AM
آخر رد: مصمم هاوي
  [VB.NET] تحديث بيانات فى كلاس من جدول سيكوال asdfar1977 6 197 26-02-24, 01:07 AM
آخر رد: asdfar1977
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 241 25-02-24, 11:26 PM
آخر رد: heem1986
  [C#.NET] طباعة بيانات داتا جرد فيو h2551996 0 95 25-02-24, 02:31 PM
آخر رد: h2551996

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


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