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

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

لدي DataGridView1 و بها 2 من العمود
العمود الاول : اسم الصنف
العمود الثاني : قيمة الصنف
 
اريد نقل بيانات الاعمدة من DataGridView1 الى DataGridView2
 
ولكن اريد قيمة العمود الثاني و اسمه (قيمة الصنف ) يتم نقله بالسالب
 
بمعنا
 


         من                                                                                         الى
DataGridView1                                                                  DataGridView2
 
اسم الصنف          قيمة الصنف                                         اسم الصنف          قيمة الصنف
 
بنطلون جينز                250                                                بنطلون جينز                -250
قميص لكرا                  75                                                  قميص لكرا                  -75


و شكرا لكم
ارفع مثال لتسهيل التعديل وحل المشكلة .
For n as integer = 0 to dgv1. Rowcount-1
Dgv1.rows(n).cells(1).value = Dgv2.rows(n).cells(1).value
Next
مثال بسيط من دون قاعدة بيانات.
نسخ محتويات الصفوف من Datagridview1 الى Datagridview2 مع عكس القيمة من موجب الى سالب حسبما فهمته من السؤال.
(23-04-18, 03:41 PM)حريف برمجة كتب : [ -> ]ارفع مثال لتسهيل التعديل وحل المشكلة .

المثال فى المرفقات اخي
(23-04-18, 03:10 PM)nabil.1710 كتب : [ -> ]السلام عليكم اخوتي

لدي DataGridView1 و بها 2 من العمود
العمود الاول : اسم الصنف
العمود الثاني : قيمة الصنف
 
اريد نقل بيانات الاعمدة من DataGridView1 الى DataGridView2
 
ولكن اريد قيمة العمود الثاني و اسمه (قيمة الصنف ) يتم نقله بالسالب
 
بمعنا
 


         من                                                                                         الى
DataGridView1                                                                  DataGridView2
 
اسم الصنف          قيمة الصنف                                         اسم الصنف          قيمة الصنف
 
بنطلون جينز                250                                                بنطلون جينز                -250
قميص لكرا                  75                                                  قميص لكرا                  -75


و شكرا لكم

هذا كود مقتبس من مثال الأخ سعود ينقل لك السجل بعد النقر عليه في الداتا قريد فيو 1 إلى الداتا قريد فيو 2 ويتم حذفه من الداتا قريد فيو 1 مع تغيير الإشارة إلى سالب والعكس .

[attachment=17755]

هذا كود الفورم لود :

كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       DataGridView1.Rows.Add("Saud", "10")
       DataGridView1.Rows.Add("Mady", "20")
       DataGridView1.Rows.Add("Ali", "25")
       DataGridView1.Rows.Add("Mohammad", "30")
       DataGridView1.Rows.Add("Majed", "35")
       DataGridView1.Rows.Add("Abdullah", "40")
       DataGridView1.Rows.Add("Khaled", "48")
       DataGridView1.Rows.Add("Hmod", "52")
   End Sub


وهذا كود الداتا قريد فيو 1 حدث CellMouseClick

كود :
Private Sub DataGridView1_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseClick
       DataGridView2.Rows.Add(DataGridView1.Rows(e.RowIndex).Cells(0).Value, -Val(DataGridView1.Rows(e.RowIndex).Cells(1).Value))

       DataGridView1.Rows.RemoveAt(e.RowIndex)
   End Sub

وهذا كود الداتا قريد فيو 2 حدث CellMouseClick

كود :
Private Sub DataGridView2_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView2.CellMouseClick
       DataGridView1.Rows.Add(DataGridView2.Rows(e.RowIndex).Cells(0).Value, Math.Abs(Val(DataGridView2.Rows(e.RowIndex).Cells(1).Value)))

       DataGridView2.Rows.RemoveAt(e.RowIndex)
   End Sub
(25-04-18, 07:45 AM)حريف برمجة كتب : [ -> ]
(23-04-18, 03:10 PM)nabil.1710 كتب : [ -> ]السلام عليكم اخوتي

لدي DataGridView1 و بها 2 من العمود
العمود الاول : اسم الصنف
العمود الثاني : قيمة الصنف
 
اريد نقل بيانات الاعمدة من DataGridView1 الى DataGridView2
 
ولكن اريد قيمة العمود الثاني و اسمه (قيمة الصنف ) يتم نقله بالسالب
 
بمعنا
 


         من                                                                                         الى
DataGridView1                                                                  DataGridView2
 
اسم الصنف          قيمة الصنف                                         اسم الصنف          قيمة الصنف
 
بنطلون جينز                250                                                بنطلون جينز                -250
قميص لكرا                  75                                                  قميص لكرا                  -75


و شكرا لكم

هذا كود مقتبس من مثال الأخ سعود ينقل لك السجل بعد النقر عليه في الداتا قريد فيو 1 إلى الداتا قريد فيو 2 ويتم حذفه من الداتا قريد فيو 1 مع تغيير الإشارة إلى سالب والعكس .



هذا كود الفورم لود :

كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       DataGridView1.Rows.Add("Saud", "10")
       DataGridView1.Rows.Add("Mady", "20")
       DataGridView1.Rows.Add("Ali", "25")
       DataGridView1.Rows.Add("Mohammad", "30")
       DataGridView1.Rows.Add("Majed", "35")
       DataGridView1.Rows.Add("Abdullah", "40")
       DataGridView1.Rows.Add("Khaled", "48")
       DataGridView1.Rows.Add("Hmod", "52")
   End Sub


وهذا كود الداتا قريد فيو 1 حدث CellMouseClick

كود :
Private Sub DataGridView1_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseClick
       DataGridView2.Rows.Add(DataGridView1.Rows(e.RowIndex).Cells(0).Value, -Val(DataGridView1.Rows(e.RowIndex).Cells(1).Value))

       DataGridView1.Rows.RemoveAt(e.RowIndex)
   End Sub

وهذا كود الداتا قريد فيو 2 حدث CellMouseClick

كود :
Private Sub DataGridView2_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView2.CellMouseClick
       DataGridView1.Rows.Add(DataGridView2.Rows(e.RowIndex).Cells(0).Value, Math.Abs(Val(DataGridView2.Rows(e.RowIndex).Cells(1).Value)))

       DataGridView2.Rows.RemoveAt(e.RowIndex)
   End Sub
شكرا  لك اخي ولكن الفكرة المطلوبة ليس بنفس الصورة البيانات يتم نقلها كتلة واحدة

و حقل القيمة يتم نقله بالسالب

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

(23-04-18, 08:59 PM)سعود كتب : [ -> ]مثال بسيط من دون قاعدة بيانات.
نسخ محتويات الصفوف من Datagridview1 الى Datagridview2 مع عكس القيمة من موجب الى سالب حسبما فهمته من السؤال.

شكرا لك اخي سعود 

الفكرة المطلوبة غير ذلك 

هذا مثال بقاعدة بيانات اريد التعديل عليه

وشكرا لك اخي
ضع اشارة السالب فقط .

مثال :

كود :
Try
           Me.AaaaDataSet.فرعي.Clear()
           For indexrow As Int16 = 0 To Me.DataGridView2.RowCount - 2
               Dim dr As DataRow
               dr = Me.AaaaDataSet.فرعي.NewRow

               dr("names") = Me.DataGridView2.Rows(indexrow).Cells(1).Value
               dr("price") = Me.DataGridView2.Rows(indexrow).Cells(2).Value
               dr("Total") = Me.DataGridView2.Rows(indexrow).Cells(3).Value  'اريد هذا الحقل يتم نقله بالسالب و شكرا

'العمود الذي تريد ادراج اشارة السالب فيه يصبح هذا لاحظ قبل الحرفين Me:
 dr("Total") = -Me.DataGridView2.Rows(indexrow).Cells(3).Value


               Me.AaaaDataSet.فرعي.Rows.Add(dr)
           Next
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical)
       End Try
(25-04-18, 03:50 PM)حريف برمجة كتب : [ -> ]ضع اشارة السالب فقط .

مثال :

كود :
Try
           Me.AaaaDataSet.فرعي.Clear()
           For indexrow As Int16 = 0 To Me.DataGridView2.RowCount - 2
               Dim dr As DataRow
               dr = Me.AaaaDataSet.فرعي.NewRow

               dr("names") = Me.DataGridView2.Rows(indexrow).Cells(1).Value
               dr("price") = Me.DataGridView2.Rows(indexrow).Cells(2).Value
               dr("Total") = Me.DataGridView2.Rows(indexrow).Cells(3).Value  'اريد هذا الحقل يتم نقله بالسالب و شكرا

'العمود الذي تريد ادراج اشارة السالب فيه يصبح هذا لاحظ قبل الحرفين Me:
 dr("Total") = -Me.DataGridView2.Rows(indexrow).Cells(3).Value


               Me.AaaaDataSet.فرعي.Rows.Add(dr)
           Next
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical)
       End Try

شكرا لك اخي : الامر يكمن فى السالب
شكرا لك