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

نسخة كاملة : كيف تجعل قيمة سجل فارغة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سؤال هوا عن DATAGridview عند ضغط علي حذف ولا يوجد اي سجل للحذف يظهر البرنامج رسالة خطا كيف امنع هذه الرسالة من الظهور
PHP كود :
If DataGridView1.RowCount>0 Then 

PHP كود :
If DataGridView1.Rows.Count 0 Then 


PHP كود :
If DataGridView1.CurrentCell.Value Is Nothing Then 
لم اوضح سؤالي ما اقصده ان يقبل بقيمة فارغة حين اضغط حذف ولا يوجد سجلات لا تظهر لي رسالة الخطأ "لايمكن ترك القيمة فارغة
(14-12-18, 04:44 PM)Safaa sn كتب : [ -> ]لم اوضح سؤالي ما اقصده ان يقبل بقيمة فارغة حين اضغط حذف ولا يوجد سجلات لا تظهر لي رسالة الخطأ "لايمكن ترك القيمة فارغة

لا اخى الفاضل انت الذى لم تفهم رد الاخ على سؤالك

ولتبسيط الامور اكثر لك

فى البداية لنقول ان كود زر الحذف عبارة عن كمثال
كود :
1

فهنا كلما تم الضغط على الزر ينطق 1 ولكن الداتا جريد لا تحتوى على قيم اى 0
فهنا لما ينطق 1 لم يجده ولحل ذلك يلزمك التالى

وهو احاطة كود الحذف بشرط تحقق بحيث يكون على شكل
كود :
if dgv> 0 the
1
end if

المعنى انك بتقول اذا كان الداتا جريد اكبر من صفر اى تحتوى على بيان واحد فاكثر
قم بتنفيذ 1 اى كود الحذف ويلزمك كذلك فى كود 1 ان تتحقق من قيمة الخاصة بـ Where انها موجودة ام لا ى حالة تستخدم الاكواد

الطريقة الثانية وليس عملياً ولا محبة ان ضع 1 داخل التالى
كود :
Try
1
Catch ex As Exception
End Try

على هذا النحو
وبكده تكون عمل كالتالى
عند تنفيذ 1 وحدث مشكلة ينفذ ما بعد سطر Catch
وبما ان لا يوجد اى شئ اسل منه ينهى كود الزر وبكده لم تظهر اى رسالة

حتى الان يتم شرح الفكرة نظرياً وليس عملياً ما هو مطلوب فعلياً لكتابة الكود
تعال ندمج الطريقتين معاً حتى تكون الصورة كاملاً وصحيحة
كل ما عليك ان تجعل الكود بهذا الشكل
كود :
       Try
           If DataGridView1.RowCount > 0 Then
               ' ضع كود الحذف بدلاً من هذا السطر
           End If
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try

بدلاً من هذا السطر قم بوضع كود الحذف الخاص بك
كود :
' ضع كود الحذف بدلاً من هذا السطر

طيب احياناً تجد ان الداتا جريد فارغ والكود كما لو انه لا يعمل او بدون اى افادة
يرجع الامر هنا انك مفعل الاضافة فى الداتا جريد يدوياً فهنا ستحتاج تعديل بسيط فى الكود فى القيمة

من حيث  0 لتصبح  1 ليكون الكود على هذا الشكل
كود :
       Try
           If DataGridView1.RowCount > 1 Then
               ' ضع كود الحذف بدلاً من هذا السطر
           End If
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try

وبكده تكون حليت المشكلة تماماً
اتمنى ان يكون الشرح مبسط لما لديك ولما تريد فعله

تذكر الكود يعمل معك اذا كنت تستخدم تعبئة الداتا من خلال ربطها مباشر بالجدول لقاعدة البيانات او من خلال الاكواد

تحياتى لك
وتمنياتى لك التوفيق
If dgvdata.Rows.Count = 0 Then
                MsgBox("عفواً لا توجد سجلات للحذف", MsgBoxStyle.Information, "تنبيه")
                Exit Sub
            End If