تنسيق القيم باستخدام طريقة eval**

& تقييم التعبيرات بالطريقة Eval :

يمكن أن تحتوي كتلة ربط البيانات في عناصر التحكم التي تستخدم القوالب أمثلة من التعبير التالي أو مشتقات عنها:

 image 2505

يعتبر استخدام طريقة Eval الخاصة بالغرض DataBinder أحد المشتقات الشائعة لتحديد قيمة ضمن مصدر البيانات، في حال احتوائه على أكثر من قيمة ضمن الصف  و يمنح خيار تنسيق القيمة لإظهارها. 

هناك ثلاث وسائل نستطيع فيها استخدام الطريقة EvaI:

  1. عند احتواء كل صف من القائمة ضمن مصدر البيانات على أكثر من قيمة (أكثر من حقل أو عمود). على سبيل المثال صف من DataView مرتبط بجدول من قاعدة بيانات أو غرض HashTabIe.
  2. عند الرغبة باستخدام غرض مختلف عن ذلك المرتبط بعنصر التحكم كمصدر للقيمة.
  3. عندما نريد تنسيق قيمة عند إظهارها. على سبيل المثال أخذ قيمة عددية وتنسيقها كعملة.

تعتبر الطريقة الأولى من الطرق السابقة امتدادا للصيغة المستخدمة سابقاً و لا تضيف عليها شينا سوى موضوع الأداء. في المثال التالي نريد القيمة من العمود المسمى BookTitIe من الصف في غرض DataView:

image 2506

تستخدم الطريقة EvaI تقنية تدعى الربط المتأخر بعد تقييم التعبير مما يخلق حمل أعلى نسبة إلى الطريقة التقليدية المستخدمة.

أما الطريقة الثانية لاستخدام Eval فتستخدم عندما نريد الربط إلى غرض غير معرف في الخاصة DataSource لعنصر التحكم. يسمح لنا ذلك بالتأشير إلى قيم معينة في هذا الغرض سيتم استخدامها في كل صف يتم إظهاره.

فعلى سبيل المثال إذا كان لدينا غرض DataView باسم ObjCityData يحتوي معلومات حول المدن نستطيع تحديد قيمة العمود CityName في الصف الرابع من الغرض DataView باستخدام:

image-20200309190439-3

 إن  الطريقة Eval تأخذ ثلاث معاملات يكون الأخير منها وهو formatString الذي يحدد تنسيق الخرج، غير اجباري. فعلى سبيل المثال نستطيع تحديد محتوى الحقل PubIicationFieId من مصدر البيانات الذي نود إظهاره بتنسيق تاريخ نظامي باستخدام الصيغة:

image-20200309190439-4

و بذلك تكون النتيجة من الشكل "2006 july    10" (حسب الإعدادات الإقليمية للسيرفر).

عند استعمالنا  الطريقة EvaI نستطيع الحصول على قيمة وحيدة في كل تعبير حيث يجب أن يكون الرقم الأول ضمن القوس صفراً دائماً (يستخدم لحجز مكان للمتغير الذي سيحمل القيمة المراد تنسيقها) ، أما الحرف التالي فهو الذي يعبر عن التنسيق المطلوب.    

فيما يلي نسرد أهم التنسيقات المستخدمة:  التنسيقات العددية:

image-20200309190439-5

أما مع التاريخ فنستخدم :

image-20200309190439-6

image-20200309190439-7

إضافةً لما تم ذكره سابقاً فمن الممكن أيضاً استعمال المحارف في الجدول التالي لإنشاء صورة لقيم ديجيتال،  فعلى سبيل المثال يولد تنسيق 00#.## عند التطبيق على الرقم 1.2345 الرقم "001.23". فإذا كنا نريد تحديد قيم موجبة أو سالبة  أو صفرية ، فإننا نقوم بفصلها عن بعضها البعض باستخدام فاصلة منقوطة.

إذا باستخدام عبارة تنسيق من الشكل  :  00#.##;(00#.##);[0]”

نستطيع الحصول على -1.2345للرقم 001.23و "0" للرقم صفر.

image-20200309190439-8

image-20200309190439-9

كما تأخذ الطريقة Eval ثلاث معاملات يكون الأخير منها وهو formatString الذي يحدد تنسيق الخرج، اختياري ، 7-8.16 أمثال عن ربط البيانات بقيمة مكررة. يجري استخدام ArrayList تم انشاؤه و ملؤه بالقيم ضمن معالج الحدث Page_Load:

 

إنشاء حساب جديد

قم بتنزيل تطبيق eMufeed Android الآن