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

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

لدي سؤال بخصوص الداتا جريد فيو.

هل هناك كود يقوم بعرض مثلاً أو كلمتين من أي حقل من الداتا؟ وعرضها في تكست بوكس.

مثلاً عمود اسم الموظف:

اسم الموظف

عبدالعزيز عبدالله عبدالكريم الفلاني

أريد عند تحديد الحقل أو الصف.. يعرض في التكست بوكس أول كلمتين فقط ( عبدالعزيز عبدالله )

وشكراً جزيلاً..
وعليكم السلام ورحمة الله وبركاته 

استفد من الكود التالي :
استبدل المتغير بـ قيمة الداتاجريد :

كود :
Dim strW As String = "عبدالعزيز عبدالله عبدالكريم الفلاني"
Dim s() As String = Split(strW, " ")
TextBox1.Text = s(0) + " " + s(1)
(10-01-23, 08:19 PM)Taha Okla كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته 

استفد من الكود التالي :
استبدل المتغير بـ قيمة الداتاجريد :

كود :
Dim strW As String = "عبدالعزيز عبدالله عبدالكريم الفلاني"
Dim s() As String = Split(strW, " ")
TextBox1.Text = s(0) + " " + s(1)

شكرا جزيلاً أخي طه

سوف أحاول جاهداً التعديل عليه..

ولا نستغني عن مساعدتكم..
أخي الكريم

توصلت إلى هذا الكود:


كود :
Dim strW As String = dataGridView1.Rows(dataGridView1.RowCount - 1).Cells(1).Value.ToString
        Dim s() As String = Split(strW, " ")
        TextBox1.Text = s(0) + " " + s(1)

ولكن المشكلة أنه يعرض آخر صف فقط في الداتا مهما ضغطت على أي صف

15222.jpg - MediaFire

هل من مساعدة لجعل الكود يعرض اسم الموظف من الصف الذي أضغط عليه أو أحدده؟
عندما تريد قيمة من خلية بعينها، استخدم الكود التالي في حدث (CellEnter) فإنه يستخرج نصها بمجرد الوقوف عليها بالماوس أو بالكيبورد :

كود :
Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
   Dim strW As String = DataGridView1.CurrentCell.Value
   Dim s() As String = Split(strW, " ")

   If s.Length < 2 Then Exit Sub

   TextBox1.Text = s(0) + " " + s(1)
End Sub

وبإمكانك وضعه في الحدث (CellClick) اذا أردت أن لا يعطي قيمة إلا إذا عينت الخلية بالماوس فقط.


أما إذا أردت أن يعطي فقط قيمة خلية من عمود معين ولا تتغير إلا إذا تغير السطر.. فاستخدم الكود التالي :
كود :
Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
   Dim strW As String = DataGridView1(1, DataGridView1.CurrentCell.RowIndex).Value

   Dim s() As String = Split(strW, " ")

   If s.Length < 2 Then Exit Sub

   TextBox1.Text = s(0) + " " + s(1)
End Sub
(11-01-23, 06:06 AM)Taha Okla كتب : [ -> ]عندما تريد قيمة من خلية بعينها، استخدم الكود التالي في حدث (CellEnter) فإنه يستخرج نصها بمجرد الوقوف عليها بالماوس أو بالكيبورد :

كود :
Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
   Dim strW As String = DataGridView1.CurrentCell.Value
   Dim s() As String = Split(strW, " ")

   If s.Length < 2 Then Exit Sub

   TextBox1.Text = s(0) + " " + s(1)
End Sub

وبإمكانك وضعه في الحدث (CellClick) اذا أردت أن لا يعطي قيمة إلا إذا عينت الخلية بالماوس فقط.


أما إذا أردت أن يعطي فقط قيمة خلية من عمود معين ولا تتغير إلا إذا تغير السطر.. فاستخدم الكود التالي :
كود :
Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
   Dim strW As String = DataGridView1(1, DataGridView1.CurrentCell.RowIndex).Value

   Dim s() As String = Split(strW, " ")

   If s.Length < 2 Then Exit Sub

   TextBox1.Text = s(0) + " " + s(1)
End Sub

فعلاً هذا ما أقصد.. ما شاء الله عليك..

الكود في غاية الاتقان وبأكثر من طريقة...

زادك الله علماً، وجزاك الله خيراً، ورحم الله والديك..

أعتقد أن الكثير سيستفيد من هذا الكود كما استفدت أنا.