سؤال

في 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 لتوفير الوصول إلى كائنات البيانات من أحداث التنسيق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top