منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو (/showthread.php?tid=45886)



تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو - yosif - 13-04-23

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

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


RE: تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو - Taha Okla - 13-04-23

وعليكم السلام ورحمة الله وبركاته
على فرض أن لديك جدول فيه ستة حقول أو أكثر ،، مثلا  (الرقم ، الاسم كامل، الاسم الاول، الاسم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



RE: تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو - yosif - 13-04-23

بارك الله فيكم
تم تجربة الكود
الكود ممتاز


RE: تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو -  - 13-04-23

(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



RE: تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو - yosif - 13-04-23

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