هل هناك طريقة للحصول على وصول برنامجي إلى أعمدة قسم تفاصيل Activereports؟

StackOverflow https://stackoverflow.com/questions/2899521

سؤال

لدي تقرير في Data Dynamics Activereports لـ .NET. في هذا التقرير ، أقوم بتعيين خاصية ColumnCount برمجيًا لقسم التفاصيل إلى X. يحتوي قسم التفاصيل على مربع نص قاعدة بيانات واحد.

يتم تعيين خاصية ColumnDirection لقسم التفاصيل على DownDown ، ثم تملأ آلية ربط البيانات تلقائيًا بالبيانات بعد إعداد مصدر البيانات و Datamember.

ها هو الرمز ...

Public Sub RunReport
        Dim count As Integer = 0

        ' ...    get count

        Detail1.ColumnCount = count

        Me.DataSource = ds
        Me.DataMember = ds.Tables(0).TableName

End Sub

يعمل هذا الرمز بشكل جيد ويتم ملء البيانات تلقائيًا عبر التقرير.

أنا الآن بحاجة إلى تغيير التقرير ودائرة أو تسليط الضوء على أحد العناصر المملوءة تلقائيًا عبر الأعمدة في التقرير.

لا يمكنني العثور على أي طريقة للوصول برنامجياً إلى الأعمدة التي تم إنشاؤها تلقائيًا حتى أتمكن من تشغيل الحدود أو رسم دائرة أو شيء من هذا القبيل. أي أفكار كيف سأفعل ذلك؟

سيث

هل كانت مفيدة؟

المحلول

يمكنك تشغيل الحدود عن طريق تعيين خصائص التحكم في الحدث التنسيق. على سبيل المثال ، إذا كنت ترغب في تعيين حدود مربع النص عندما تكون قيمتها أقل من الصفر ، فيمكنك استخدام شيء مثل الكود التالي:

 private void detail_Format(object sender, System.EventArgs eArgs)
 {
      if (this.TextBox1.Value < 0) {
           this.TextBox1.Border.BottomColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.BottomStyle = BorderLineStyle.DashDot;
           this.TextBox1.Border.LeftColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.LeftStyle = BorderLineStyle.DashDot;
           this.TextBox1.Border.RightColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.RightStyle = BorderLineStyle.DashDot;
           this.TextBox1.Border.TopColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.TopStyle = BorderLineStyle.DashDot;
      }
 }

اقرأ هنا لمزيد من المعلومات حول الممتلكات الحدودية.

ليس من السهل الحصول على موضع التحكم في الصفحة الناتجة. يمكنك حساب الموضع بناءً على بعض الأشياء ، لكنني أوصي باستخدام عنصر التحكم نفسه لتسليط الضوء على البيانات التي تريدها بدلاً من الرسم على الصفحة. سيجعل حياتك أسهل :)

إذا كان شكل الدائرة مهمًا بالنسبة لك ، فيمكنك استخدام عنصر تحكم "الشكل" في Activereports للقيام بذلك عن طريق تحديد موضعه ووضوحه استنادًا إلى حالة ما. فقط تأكد من أن الترتيب z في الشكل تحت مربعات النص. سيكون الرمز لاستخدام الشكل مشابهًا لكيفية تنظيم الكود أعلاه ، لكنك ستقوم بتعيين الجزء العلوي/اليسار/العرض/الارتفاع والخاصية المرئية للتحكم في الشكل بدلاً من تعيين خصائص الحدود. مزيد من المعلومات حول التحكم في الشكل هنا.

أتمنى أن يساعدك هذا.

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