الاخوة الزملاء
السلام عليكم ورحمة الله وبركاتة
يوجد مشكلة في كود التحقق من رصيد الصنف قبل الصرف بحيث اذا كانت الكمية المنصرفة أكبر من الرصيد الحالي للصنف يعطي لنا رسالة تفيد بأن الرصيد الحالي غير كافي
والحمد لله الكود يعمل بشكل سليم لكن ظهرت لي مشكلة ولا أعرف ما سببها وهي
في حالة الصف الاول في DataGridView الكمية المنصرفة في خانة QtyOut أكبر من الرصيد يتلون السطر الاول فقط باللون الاصفر مع العلم انه يوجد أصناف أخري في الجريد بها نفس المشكلة
أما اذا كان الصف الاول ليس به مشكلة في الرصيد تتلون كافة السطور باللون الاصفر والتي بها مشكلة الرصيد ولا اعرف لماذا تحدث هذه المشكلة في السطر الاول فقط
حاولت أن امسح Exit Sub من الكود فوجدت ان الكود يعمل بشكل طبيعي لكن يقوم بتنفيذ عملية الحفظ التي تلي كود فحص الرصيد وهذا غير صحيح لان من المفترض ان عملية الحفظ لا تتم طالما لن يتحقق الشرط
Try
For Each Row As DataGridViewRow In IssueDGV.Rows
For Rowindex As Integer = 0 To IssueDGV.Rows.Count - 1 Step 1
If (IssueDGV.Rows(Rowindex).Cells("Qtyout").Value) > (IssueDGV.Rows(Rowindex).Cells("Balance").Value) Then
'Write a comma if an only if this is NOT the first column.
IssueDGV.Rows(Rowindex).DefaultCellStyle.BackColor = Color.Yellow
If Row.Cells("Qtyout").Value > Row.Cells("Balance").Value Then
MsgBox("الرصيد غير كافي برجاء مراجعة رصيد الصنف", MsgBoxStyle.Critical, "تحذير")
Exit Sub
End If
End If
Next
Next
If TexCusid.Text.Trim.Length = 0 Then
MsgBox("لايمكن ترك رقم العميل فارغ", MsgBoxStyle.Information, "تنبية")
ElseIf CBOKindofTrans.Text.Trim.Length = 0 Then
MsgBox("لايمكن ترك نوع الحركة فارغ", MsgBoxStyle.Information, "تنبية")
ElseIf CBOPayment.Text.Trim.Length = 0 Then
MsgBox("لايمكن ترك طريقة الدفع فارغة", MsgBoxStyle.Information, "تنبية")
Else
If False Then
ElseIf MsgBox("هل تريد حفظ السجل الحالي", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "تأكيد الحفظ") = MsgBoxResult.No Then
Exit Sub
Else
sqlcon.Open()
