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

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

الرجاء المساعدة
وعليكم السلام ورحمة الله وبركاته
على فرض أن لديك جدول فيه ستة حقول أو أكثر ،، مثلا  (الرقم ، الاسم كامل، الاسم الاول، الاسم2، الاسم3،..، الاسم الاخير)
وأن الحقل الاول يحتوي على الاسم الثنائي، الثلاثي ، الرباعي ....  السباعي اللي هو ..
سيكون الكود هو :

كود :
' هذا الجزء لتحديد عدد اسطر الجدول هل هو +1 أو عادي
' و جعله لا يقبل الاضافة مؤقتاً
' وقد وضعته تلافياً للأخطاء
Dim da As Boolean = False
If DataGridView1.AllowUserToAddRows = True Then
   da = DataGridView1.AllowUserToAddRows
   DataGridView1.AllowUserToAddRows = False
End If

' هذا كود التقسيم والتوزيع
For i = 0 To DataGridView1.Rows.Count - 1
   Dim strS As String = DataGridView1(1, i).Value
   Dim M() As String = strS.Split(" ")
   For j = 0 To M.Length - 1
       DataGridView1(2 + j, i).Value = M(j)
   Next
Next

' كود إعادة وضع الجدول لما كان عليه
DataGridView1.AllowUserToAddRows = da
بارك الله فيكم
تم تجربة الكود
الكود ممتاز
(13-04-23, 02:37 PM)yosif كتب : [ -> ]السلام عليكم
لديا اسم كامل في عمود في الداتا جريد فيو
مثلا باسم : فهد علي صالح الفهد
المطلوب : تقسيم الاسم الكامل اعلاه في الشبكة الى اربعة اقسام
بحيث يكون فهد في عمود
وعلي في عمود
وصالح في عمود
والفهد في عمود

الرجاء المساعدة

(13-04-23, 05:26 PM)Taha Okla كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته
على فرض أن لديك جدول فيه ستة حقول أو أكثر ،، مثلا  (الرقم ، الاسم كامل، الاسم الاول، الاسم2، الاسم3،..، الاسم الاخير)
وأن الحقل الاول يحتوي على الاسم الثنائي، الثلاثي ، الرباعي ....  السباعي اللي هو ..
سيكون الكود هو :

كود :
' هذا الجزء لتحديد عدد اسطر الجدول هل هو +1 أو عادي
' و جعله لا يقبل الاضافة مؤقتاً
' وقد وضعته تلافياً للأخطاء
Dim da As Boolean = False
If DataGridView1.AllowUserToAddRows = True Then
   da = DataGridView1.AllowUserToAddRows
   DataGridView1.AllowUserToAddRows = False
End If

' هذا كود التقسيم والتوزيع
For i = 0 To DataGridView1.Rows.Count - 1
   Dim strS As String = DataGridView1(1, i).Value
   Dim M() As String = strS.Split(" ")
   For j = 0 To M.Length - 1
       DataGridView1(2 + j, i).Value = M(j)
   Next
Next

' كود إعادة وضع الجدول لما كان عليه
DataGridView1.AllowUserToAddRows = da

موضوع تقسيم الاسم سبق طرحه في المواضيع التالية
كيف يتم استخلاص اسم الاب والجد من حقل الاسم الكامل ؟!!!
كود برمجي

بالنسبة للجزء من الكود
كود :
' هذا الجزء لتحديد عدد اسطر الجدول هل هو +1 أو عادي
' و جعله لا يقبل الاضافة مؤقتاً
' وقد وضعته تلافياً للأخطاء
Dim da As Boolean = False
If DataGridView1.AllowUserToAddRows = True Then
  da = DataGridView1.AllowUserToAddRows
  DataGridView1.AllowUserToAddRows = False
End If
كود :
' كود إعادة وضع الجدول لما كان عليه
DataGridView1.AllowUserToAddRows = da

يمكن اختصاره بجزء واحد
كود :
For i = 0 To DataGridView1.Rows.Count - If(DataGridView1.AllowUserToAddRows, 2, 1)


ويمكن استخدام For Each مع IsNewRow مثل
كود :
' هذا كود التقسيم والتوزيع
For Each drow As DataGridViewRow In DataGridView1.Rows
   If drow.IsNewRow Then Exit For
   Dim strS As String = drow.Cells(1).Value
   Dim M() As String = strS.Split(" ")
   For j = 0 To M.Length - 1
       drow.Cells(2 + j).Value = M(j)
   Next
Next
الشكر لكم جميعا
فالمشاركة من قبلكم ليس تدخلا بقدر ما هو اثراء للمعلومة وافادة الجميع