[ تم الحل ] خطأ عند الضغط على الداتاجريد - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [ تم الحل ] خطأ عند الضغط على الداتاجريد (/showthread.php?tid=29333) |
[ تم الحل ] خطأ عند الضغط على الداتاجريد - محمد خيري - 11-04-19 السلام عليكم.اخواني لو يمكن المساعدة ربنا يبارك فيكم.بالجدول عندي 2 حقول أكسس من نوع Boolean المشكلة لما بالخطأ أضغط على آخر صف فارغ بالداتاجريد يطلعلي هذا الخطأ.و لما أحذف الحقول Boolean حتى وان ضغطت بمكان فارغ لا يظهر الخطأ كود الضغط على الداتاجريد كود : Private Sub DataGridView1_Click(sender As Object, e As EventArgs) Handles DataGridView1.Click Conversion from String to type 'Boolean' is not valid بارك الله فيكم RE: خطأ عند الضغط على الداتاجريد - elgokr - 11-04-19 وعليكم السلام ورحمة الله وبركاته
فى البداية اخى محمد خيري
اجعلني اشرح لك الكود الذى تستخدمه
فى كيفية التعامل معه لان من الواضح انك تستخدم الكود
دون علم ما هو وكيفية الاستخدام
تعال نقول ان لدينا مشروع يحتوى على
TextBox1
واننا نريد ان نطبق عليه اكتر من امر
مثل تفريغه بالبداية ثم اعطاء قيمة جديدة ثم وضع المؤشر عليه
فبطبيعة الحال ابسط ما سيتم كتابته هو كود : TextBox1.Clear() طيب لو قلت انا مش محتاج اكتب كلمة
TextBox1
دائماً فى كل سطر ويكفيني اكتب بهذا الشكل مباشراً كود : .Clear() عشان يتم الامر ده بيتم استخدام With
ووظيفته هو مضمون او ما يتبع الاداء بحيث كل ما بداخل كود With
فهو يتبع الى TextBox1 لذلك تجد دائماً بداية كل تنفيذ هو . مباشراً
بدون كتابة TextBox1 حتى يتم اغلاق With
طيب الكود سيكون شكله ايه بعد استخدام With
سيكون الكود بهذا الشكلكود : With TextBox1 طيب لو حبيت اعمل تحقق من قيمة سيكون بهذا الشكل كود : With TextBox1 لاحظ كده فى سطر IF انا كتبت مباشراً .Text بدون ان اكتب TextBox1
لان كما قمت بالذكر بالاعلى انا بداخل ما يتبع TextBox1
فاى ما يكتب من تنفيذ فهو يخص فقط TextBox1
طيب ناتى الى الكود الخاص بك
وهو الخطاء الذى وقعت به وهو بهذا السطركود : TextBox3.Text = .Cells("Birth").Value.ToString() ثم ياليه بالاسفل لنفس السطر وهو كود : If DataGridView1.CurrentRow.Cells(2).Value.ToString = "" Then انت متخيل انك عملت ايه
فى البداية انت قمت بتعبئة TextBox3 بقيمة التاريخ
ومن ثم قمت باعادة التحقق بالنهاية
اذا كان التاريخ غير موجود فاجعل TextBox3 فارغ
واذا كان يحتوى على تاريخ قم بتعبته بالتاريخ
ومن الصح ان يكون الكود من البداية بهذا الشكل كود : If .Cells("Birth").Value.ToString = "" Then لاحظ كده كود التحقق اصبح باى شكل
وحتى الكود بداخل الـ Format
واذا احببنا ان نجعل الامر باسهل وابسط اكثر فيمكنك ان تجعله بهذا الشكل كود : TextBox3.Text = IIf(.Cells("Birth").Value.ToString = "", "", Format(.Cells("Birth").Value, "yyyy/MM/dd")) لاحظ ان القيمة نفسها هى التى يتم التحقق منها مباشراً
ليتم تعبئة TextBox3 بالقيمة المطلوبة
طيب خلينا ننظر للكود كيف اصبح بعد ما تم ما بالاعلى كود : With DataGridView1.CurrentRow طيب ناتى للجزء الخاص بالمشكلة
لظهور تلك الرسالة والسبب
بان القيمة خاصة FirstPrime و SecondPrime فارغة
الامر يمكن حله من خلال طريقتين
الطريقة الاولى وهو تعضيل الاضافة فى اداء الداتا جريد
بحيث اخر سطر الفارغ لم يظهر معك لانك بكلا الاحوال لا تستخدم الاضافة اليدوية
من خلال الموس و لوحة المفاتيح كما لو ان الداتا جريد ملف Excel
الطريقة الثانية ان تجعل الكود بهذا الشكل كود : With DataGridView1.CurrentRow وبكده تكون قمت بحل المشكلة
وكذلك معالجة الخطاء بالكود
اتمنى ان يكون الشرح بسيط
وان تكون على استوعاب الان فى كيفية استخدام With
تحياتى لك
وتمنياتى لك التوفيق
RE: خطأ عند الضغط على الداتاجريد - محمد خيري - 11-04-19 بارك الله فيك اخي elgokr ربنا يجازيك كل خير يا رب و الله شرح ولا أروع و منطقي و هو يلي لازم يكون و كتبته بالحرف مثل ما هو بالضبط لكن رسالة الخطأ كانت كود : Conversion from String to type 'Boolean' is not valid كود : Conversion from DBNull to type 'String' is not valid RE: خطأ عند الضغط على الداتاجريد - elgokr - 11-04-19 لى ولك وللجميع بامر الله
بخصوص الرسالة
جرب ان تجعل الكود بهذا الشكلكود : With DataGridView1.CurrentRow واذا تم ظهور اى رسالة
قم بتعطيل كود Try
وبعد الاختبار اكتب النص التى ظهر لك فى تفاصيل الخطاء
او وضح اى سطر ظهر معك يحدث به الخطاء
مع ذكره هنا
تحياتى لك
وتمنياتى لك التوفيق
RE: خطأ عند الضغط على الداتاجريد - محمد خيري - 12-04-19 الان اختفت رسائل الخطأ لما اضغط بمكان فارغ الله يبارك فيك و يعطيك ما تتمنى اخي elgokr اشكرك جزيل الشكر انقذتني بجد كنت رايح اتخلى عن التشيك بكس تماما بسبب الرسائل.شكرا مع تقييمي RE: [ تم الحل ] خطأ عند الضغط على الداتاجريد - elgokr - 12-04-19 الشكر لله والحمد لله
والحمد لله على كل حال
تحياتى لك
وتمنياتى لك التوفيق
|