استخدم ضمن مشروعي زر بوتن وظيفته
في حال كانت تكست بوكس 1 ضمنها نص قم بالحفظ اما اذا فراغ يضهر رسالة ان هذا التكست الزامي يجب تعبئتة قبل الحفظ
لكن ماهي الطريقة اذا كنت اضع المعلومات ضمن حقول داتا كريت فيو ونسيت احد الحقول اريد ان يضهر رسالة ان هذه الخلية الزامية قبل الحفظ
في حالة ان كنت تريد التحقق من عمود معين أستخدم الكود التالي
استبدل DataGridView1 باسم الداتا التي تستخدمها و استبدل اسم المنتج باسم العمود الذي تريد بياناته الزامية
كود :
Private Sub DataGridView1_CellValidating(ByVal sender As Object, _
ByVal e As DataGridViewCellValidatingEventArgs) Handles DataGridView1.CellValidating
' اسم العمود الذي تريد التحقق منه، غيّره حسب الحاجة
Dim COL_NAME As String = DataGridView1.Columns(e.ColumnIndex).HeaderText
' مثال: التحقق من أن حقل "اسم المنتج" غير فارغ
If COL_NAME = "اسم المنتج" Then
If String.IsNullOrWhiteSpace(e.FormattedValue.ToString()) Then
DataGridView1.Rows(e.RowIndex).ErrorText = "هذه الخلية إلزامية"
e.Cancel = True ' يمنع الخروج من الخلية حتى يتم إدخال قيمة
End If
End If
End Sub
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
' إزالة رسالة الخطأ بعد انتهاء التعديل
DataGridView1.Rows(e.RowIndex).ErrorText = String.Empty
End Sub
أما اكنت تريد جعل جميع الخانات في السطر ألزامية أستخدم الكود التالي
استبدل DataGridView1 باسم الداتا التي تستخدمها
كود :
Private Sub DataGridView1_RowValidating(ByVal sender As Object, _
ByVal e As DataGridViewCellCancelEventArgs) Handles DataGridView1.RowValidating
For Each cell As DataGridViewCell In DataGridView1.Rows(e.RowIndex).Cells
If cell.Value Is Nothing OrElse String.IsNullOrWhiteSpace(cell.Value.ToString()) Then
DataGridView1.Rows(e.RowIndex).ErrorText = "جميع الحقول مطلوبة!"
e.Cancel = True ' يمنع الخروج من الصف حتى يتم تعبئة جميع الخلايا
Exit For
End If
Next
End Sub
Private Sub DataGridView1_RowValidated(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.RowValidated
DataGridView1.Rows(e.RowIndex).ErrorText = String.Empty
End Sub