[COLOR="#696969"]بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
واجهتني مشكلة عند محاولة اسناد قيمة فارغة من الداتا جريد فيو الى حقل نصي
[HTML]
Delete_frm.txt_Phone1.Text = DataGridView1.CurrentRow.Cells(4).Value[/HTML]
حاولت بطريقة اخرى
[HTML]Delete_frm.txt_Phone1.Text = IIf(DataGridView1.CurrentRow.Cells(4).Value = "", System.DBNull.Value, DataGridView1.CurrentRow.Cells(4).Value[/HTML]
ولكن لم انجح
ارجو التوضيح
والف شكر
[/COLOR]
حاول تستبدل :
[b][SIZE=4]
[/SIZE][/b]بــ :
[b][SIZE=4]
كود :
[b][color=#696969][SIZE=4].Value = Is Nothing[/SIZE][/color][/b]
[/SIZE][/b]
السلام عليكم و رحمة الله و بركاته,
أخي الكريم, جرب الكود التالي:
[HTML]Delete_frm.txt_Phone1.Text = If(DataGridView1.CurrentRow.Cells(4) Is Nothing OrElse DataGridView1.CurrentRow.Cells(4).Value Is Nothing, Delete_frm.txt_Phone1.Text="", DataGridView1.CurrentRow.Cells(4).Value.ToString)[/HTML]
الف شكر اخوتي في المنتدى
kslawy
hoob computer
على اجاباتكم، وقد عمل الحل الذي تفضلتم به.....
ولكنــــــــــــي بصراحة انا مستغرب بشدة للغاية، وفي حيرة من امري
تم تعبئة البيانات على داتا جريد فيو، وعند ضغط المستثمر على سطر معين من الداتا جريد فيو.......فاننا سوف نسحب قيم ذلك السطر الى حقول شاشة التعديل
وجدت طريقتين للحل.
1- الطريقة الاولى، كما هو بالاعلى انني مضطر الى وضع سطر طويل لكل قيمة...... من اجل الا احصل على خطأ بسبب احتمال ان تكون احدى القيم فارغة
2- طريقة ثانية، تقبل القيم الفارغة ........وهي ان اعمل حقول مخفية تحت الجريد فيو مثلا
txt_Phone1_View.DataBindings.Add("Text", ds, "Zatea.Phone1"
اي استخدام الداتا بايندنج، ومن ثم عند استدعاء نافذة التعديل
Edit_frm.txt_Phone1.Text = Me.txt_Phone1_View.Text
وهنا لو كانت القيمة فارغة لا تحدث مشكلة
لماذا بالطريقة الاولى مشكلة بالقيمة الفارغة ( ويجب الاحتياط ووضع الاكواد المناسبة كما تفضلتم حضرتكم وعدلتم الكود، وطريقة ثانية تسرد القيم الفارغة دون اشكال)
ارجو توضيح اللبس
والف شكر
لم أفهم قصدك يا أخي kafi؟
جرب هذا :
كود :
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Try
If DataGridView1.RowCount > 0 Then
If DataGridView1.SelectedRows.Count > 0 Then
Dim dgvr As DataGridViewRow = DataGridView1.SelectedRows(0)
With dgvr
Me.TextBox1.Text = GetCellsValue(dgvr.Cells(0))
Me.TextBox2.Text = GetCellsValue(dgvr.Cells(1))
Me.TextBox3.Text = GetCellsValue(dgvr.Cells(2))
End With
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
End Try
End Sub
Private Function GetCellsValue(ByVal dgvCell As DataGridViewCell) As String
Try
If dgvCell.Value IsNot Nothing Then
Return dgvCell.Value
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
End Try
End Function
اولا سلام عليكم ورحمة الله وبركاته
منذ فترة لم ادخل الى المنتدى
من الطبيعى انه يحدث معك هذا الامر لان نوع الحقل رقمى والمطلوب منك بكل بساطة هو انك تزيد كلمة ToString ليعطيك قيمتها الفارغة
PHP كود :
Delete_frm.txt_Phone1.Text = DataGridView1.CurrentRow.Cells(4).Value.ToString
Ahmed_Online كتب :اولا سلام عليكم ورحمة الله وبركاته
منذ فترة لم ادخل الى المنتدى
من الطبيعى انه يحدث معك هذا الامر لان نوع الحقل رقمى والمطلوب منك بكل بساطة هو انك تزيد كلمة ToString ليعطيك قيمتها الفارغة
PHP كود :
Delete_frm.txt_Phone1.Text = DataGridView1.CurrentRow.Cells(4).Value.ToString
وعليكم السلام ورحمة الله وبركاته
شكرا جزيلا استاذ وبارك الله فيك
ربي يحفظك
شكرا اخوتي
kslawy / ahamad-online
على اجاباتكم
إقتباس :من الطبيعى انه يحدث معك هذا الامر لان نوع الحقل رقمى والمطلوب منك بكل بساطة هو انك تزيد كلمة ToString ليعطيك قيمتها الفارغة
تم تطبيق ماتفضلت به اخي / احمد / من اضافة كلمة tostring والحمد لله انحلت المشكلة، ولم اعد بحاجة الى الكود الطويل الذي تفضل الاخوة في اعلى المشاركة بتصحيحه وتصوييه من حيث فحص القيمة،
ولكـــــــــــــــــــــــــن
كافة الحقول في قاعدة البيانات ( الاسم -ارقام الهواتف والفاكس.... الخ )
هي من نوع string وليست رقمية
ارجو مزيد من التوضيح
والف شكر
السلام عليكم
تم تجريب الكود الذي تفضل به اخي
kslawy
[HTML]Try
If DataGridView1.RowCount > 0 Then
If DataGridView1.SelectedRows.Count > 0 Then
Dim dgvr As DataGridViewRow = DataGridView1.SelectedRows(0)
With dgvr
Delete_frm.txt_Zatea_id.Text = GetCellsValue(dgvr.Cells(0))
Delete_frm.txt_Customer.Text = GetCellsValue(dgvr.Cells(1))
Delete_frm.ListBox1.Text = GetCellsValue(dgvr.Cells(3))
Delete_frm.txt_Area.Text = GetCellsValue(dgvr.Cells(2))
Delete_frm.txt_Phone1.Text = GetCellsValue(dgvr.Cells(4))
Delete_frm.txt_Phone2.Text = GetCellsValue(dgvr.Cells(5))
Delete_frm.txt_fax.Text = GetCellsValue(dgvr.Cells(7))
Delete_frm.txt_Mobile.Text = GetCellsValue(dgvr.Cells(6))
Delete_frm.txt_Email.Text = GetCellsValue(dgvr.Cells(8))
Delete_frm.txt_Note.Text = GetCellsValue(dgvr.Cells(9))
End With
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
End Try[/HTML]
ولكني حصلت على رسالة خطاً
كما هي بالصورة المرفقة
اعمل على win8 + vb12
[ATTACH=CONFIG]3277[/ATTACH]