سؤال

أحتاج إلى إضافة DataTable ثانٍ من مجموعة البيانات الرئيسية لتطبيقنا إلى تقرير، ولكن لم يحالفني الحظ كثيرًا.

لدينا عدة تقارير محلية بسيطة في ملفات RDLC، كل منها بملف واحد DataTable بناءً على عرض في قاعدة بيانات تطبيقنا.أحتاج إلى تحسين أحد التقارير لإضافة معلومات من جدول آخر.يتم تعريف هذا الجدول الآخر في نفس النواة DataSet التي نستخدمها للتقارير في تطبيق .NET 2.0 WinForms الخاص بنا.نظرًا لوجود الجدولين في نفس DataSet، هل يمكنني التأكد من تحميل كلا الجدولين في DataSet ثم توجيه التقرير إلى DataSet بدلاً من DataTable؟شيء آخر؟

وغني عن القول أنني كنت ألعب بهذا الأمر لفترة من الوقت ولم أتمكن من الوصول إلى أي مكان.

تيا ، مات

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

المحلول

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

كان النظر إلى Designer.cs للنموذج الخاص بي هو في الواقع الشيء الأكثر فائدة الذي قمت به.لقد لاحظت أن ReportViewer يحتوي على BindingSource الافتراضي المشار إليه في الجدول الأول.في الأصل، كنت متوقفًا عن محاولة إعطاء BindingSource مجموعة بيانات بدلاً من DataTable، ولكن بعد ذلك قررت أن أحاول إنشاء BindingSource ثانيًا بدلاً من ذلك.

ربما هناك طريقة أفضل، ولكن هذا هو ما انتهى بي الأمر إلى فعله:

  1. مع وجود RDLC في المصمم، انقر فوق قائمة التقرير ثم مصادر البيانات.

  2. في مربع الحوار "مصادر بيانات التقرير"، اختر DataTable الإضافي من القائمة المنسدلة وانقر فوق "إضافة إلى التقرير".(لقد قمت أيضًا بإعادة تسمية مصدر البيانات الجديد ليكون مجرد اسم جدول البيانات الإضافي؛قام VS بإنشاء اسم طويل ضخم استنادًا إلى مساحة الاسم الكاملة.) حسنًا لإغلاق مربع الحوار.

  3. في مصمم النموذج الذي يحتوي على عنصر التحكم ReportViewer الخاص بي، انقر فوق العلامة الذكية الخاصة بـ ReportViewer (السهم الصغير الموجود في الزاوية العلوية اليمنى من عنصر التحكم) ثم حدد إعادة ربط مصادر البيانات.أدى هذا إلى ظهور BindingSource ثانيًا أسفل سطح المصمم.

  4. نقرت على العلامة الذكية لـ ReportViewer مرة أخرى واخترت هذه المرة "اختيار مصادر البيانات" للتأكد من أن ReportViewer لديه الآن مصدران للبيانات، كل منهما مرتبط بأحدهما BindingSource الحالات الآن على النموذج.

  5. تمت مراجعة كود OnLoad الخاص بالنموذج الخاص بي لتحميل الصفوف في DataTable الثاني.

  6. عدت إلى ملف RDLC، وأضفت جدولاً جديدًا وقمت بتعيين خلايا التفاصيل على الحقول الموجودة في DataTable الثاني - وقد نجح الأمر!

نأمل أن يوفر هذا لشخص آخر بضع ساعات في يوم من الأيام.

نصائح أخرى

* اكتشف

طريقة لاستخدامها في Visual Studio 2010. انقر فوق عرض> ReportData وعندما يتم رؤية بيانات التقرير، انقر فوق DataSources ثم انقر فوق إضافة.القيام بذلك عدة مرات كما يحتاج عدد البيانات إلى مجموعات البيانات.

الآن في العلامات الذكية في ReportViewer، انقر فوق اختر "DataSources"، فسيظهر ذلك كل مجموعة من البيانات.لربط مجموعات البيانات باستخدام مصدر ملزم، سيتعين عليك النقر فوق المشروع ثم انقر فوق المزيد من الفئة المناسبة، وهذا سيؤدي إلى إنشاء مصادر ملزمة.

هذا العمل مفيد للغاية إذا كان لديك أجهزة عضلات متعددة وعليك ربط مصدر ملزم لهم في نفس التقرير عند عرض التقرير في عارض التقرير

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