التنسيق الشرطي ActiveReports - رؤية الصورة
-
20-09-2019 - |
سؤال
في ActiveReports، كيف يمكنني تغيير التنسيق بناءً على القيم الموجودة في بيانات التقرير؟
على وجه التحديد، أريد إظهار الصور أو إخفائها بناءً على قيمة في البيانات.يتم ربط التقرير بقائمة الكائنات عبر مجموعة من خاصية DataSource الخاصة به.هذه الكائنات لها Condition
الخاصية ذات القيم "ضعيف" و"عادي" وما إلى ذلك.لدي بعض الصور في التقرير المطابقة للشروط المختلفة، وأريد إخفاء جميع الصور باستثناء الصورة المقابلة للقيمة.
هل يجب أن أشترك في Format
حدث لقسم التفاصيل؟إذا كان الأمر كذلك، كيف يمكنني الوصول إلى بيانات "السجل الحالي"؟
المحلول
حسنًا، ما زلت لا أعرف كيفية الحصول على كائن البيانات الحالي، لكنني اكتشفت أنه يمكنك استخدام التقرير Fields
خاصية لاسترداد القيم من كائن البيانات الحالي.
الرمز أدناه يشترك في قسم التفاصيل Format
حدث. Fields["Condition"].Value
يحصل على قيمة كائن البيانات الحالي Condition
الخاصية (والتي تصادف أنها قيمة التعداد).
private void detail_Format(object sender, EventArgs e)
{
Condition? condition = Fields["Condition"].Value as Condition?;
conditionUnknownPicture.Visible = (condition == Condition.Unknown);
conditionPoorPicture.Visible = (condition == Condition.Poor);
conditionNormalPicture.Visible = (condition == Condition.Normal);
conditionNewPicture.Visible = (condition == Condition.New);
}
يحرر:
لقد تعلمت منذ ذلك الحين أن الوصول إلى مجموعة الحقول من حدث التنسيق يتعارض مع قواعد تصميم ActiveReports، لأنه لا يعمل في بعض الحالات الغريبة.أستخدم الآن هذه الطريقة بدلاً من ذلك: http://www.datadynamics.com/forums/ShowPost.aspx?PostID=133642#133642
لدى DataDynamics طلب ميزة رقم 22786 لتوفير الوصول إلى كائنات البيانات من أحداث التنسيق.