تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] رسالة خطأ في الداتا جريد فيو
#2
هذا الاستثناء من الطريقة التي تضبط بها قيم الخلية :

عند الضغط على رأس العامود تحدث عملية (فرز - تصاعدي أو تنازلي)
الـ DataGridView يحاول إستخدام الطريقة ( IComparer ) ضد خلايا تحتوي على أنواع مختلفة، ولأن العامود يحتوي على أنواع مختلفة، لا تستطيع الطريقة  ( IComparer ) إجراء فرز، فيحدث هذا الاستثناء
الطريقة ( IComparer  ) تأخد أول خلية من العامود وتحدد نوعها ( أول خلية مثلاً نوعها نصي String ) ولكن الخلية التالية في نفس العامود تحتوي على قيمة من نوع ( Integer ).
هنا تحدث المشكلة لأنه لا يمكن مقارنة نوع بنوع مختلف،
يجب أن تكون كل الخلايا في نفس العامود من نفس النوع



والرسالة التي تظهر لك الخطاء :
تقول ( يجب أن يكون الكائن من نوع String )

معنى الرسالة مغلوط، وهو ليس القصد بأن الكائن يجب أن يكون من نوع String، المعنى هو أن الكائن الذي سبب الخطاء هو من نوع String.

ومن النظرة الأولى على الـ DataGridView يتضح ان الخطاء بسبب ( عامود كلمة المرور ) 
لأن أول خلية عبارة عن رقم
والخلية التي تحتها عبارة عن نص
ولأن الخلية الأولى (رقم) والثانية (نص) هنا رسالة الخطاء تقول ( يجب أن يكون الكائن من نوع String )

لا توجد أي مشكلة في الفرز مع القيم الخالية ، عندما تكون القيمة Nothing أو NULL
 


الحل هو :
عند تعيين القيم للخلية ( يجب تحديد نوعها بشكل صريح )
لأن كل الخلايا في الـ DataGridView من نوع Object
لذلك يجب أن تكون القيمة صريحة 

إذا كان العامود عبارة عن أرقام من نوع Integer
إستخدم المحول CInt("547") لتحويل قيمة من نوع String إلى قيمة من نوع Integer بشكل صريح
لاحض القيمة بين القوسين نصية بسبب علامة التنصيص (") ، نريد تحويلها إلى Integer صريح

إذا كان العامود عبارة عن قيم نصية
إستخدم المحول CStr(547) لتحويل قيمة من نوع Integer إلى قيمة من نوع String بشكل صريح
لاحض القيمة بين القوسين Integer صريح بدون علامة التنصيص (") نريد تحويلها إلى نص صريح

وهكذا دواليك مع الأنواع الأخرى....

أرجوا أن تكون وصلت الفكرة
الرد }}}
تم الشكر بواسطة:  , Taha Okla , أبو خالد الشكري , ahmed_king2023


الردود في هذا الموضوع
RE: رسالة خطأ في الداتا جريد فيو - بواسطة عبدالله الدوسري - 15-04-23, 05:12 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  لماذا البرنامج يتوقف بدل عرض رسالة الخطأ justforit 0 101 07-12-25, 10:22 AM
آخر رد: justforit
  سبب تكرار رسالة التنبيه مصمم هاوي 4 431 03-05-25, 02:05 PM
آخر رد: مصمم هاوي
  ارسال رسالة الى تطبيق واتساب nabil.1710 6 3,686 26-04-25, 11:21 AM
آخر رد: hamedi2727
  [سؤال] كارثة بكل المقاييس: رسالة Out Of Memory dr.programming 5 414 26-04-25, 01:37 AM
آخر رد: princelovelorn
  ابغي ارجع قيمة الداتا قراد فيو من جديد عندي مشكله khalidalwdi 3 634 05-12-24, 02:21 AM
آخر رد: aljzazy
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 667 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  عند الضغط على زر Cancel يظهر لي رسالة خطأ F.H.M 11 1,097 25-10-24, 06:39 AM
آخر رد: F.H.M
  التحكم في ارتفاع صفوف الداتا جريد فيو cvcvcv 3 4,660 09-10-24, 08:28 PM
آخر رد: Kamil
Rainbow [كود] البحث وتحريك اسهم الداتا جريدفيو عند البحث محمد مسافر 2 581 19-09-24, 01:14 AM
آخر رد: محمد مسافر
  رسالة تنبيه بوصول الموظف إلى 7 ساعات فأكثر saud1004 0 282 08-09-24, 07:10 PM
آخر رد: saud1004

التنقل السريع :


يقوم بقرائة الموضوع: