سؤال

أود أن أكون قادرًا على تكرار جميع المعلمات المحددة في تقاريري وإنشاء سلسلة عرض لاسم المعلمة وقيمتها.ثم أقوم بعرض النتائج في التقرير حتى يعرف المستخدم المعلمات التي تم استخدامها لهذا التنفيذ المحدد.المشكلة الوحيدة هي أنني لا أستطيع تكرار مجموعة المعلمات.لا يبدو أن هناك مفهرسًا في مجموعة المعلمات، ولا يبدو أنه يتم تطبيق IEnumerable.هل تمكن أي شخص من تحقيق هذا؟أنا أستخدم SSRS 2005 ويجب تنفيذه ضمن رمز التقرير (أي لا يوجد تجميع خارجي).شكرًا!

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

المحلول

لسوء الحظ، يبدو أنه لا توجد طريقة بسيطة للقيام بذلك.يرى http://www.jameskovacs.com/blog/DiggingDeepIntoReportingServices.aspx لمزيد من المعلومات.إذا نظرت إلى تعليقات هذا المنصب, ، هناك بعض الطرق للتغلب على هذا الأمر، لكنها ليست أنيقة جدًا.سيتطلب الحل الأبسط أن يكون لديك قائمة بمعلمات التقرير في مكان ما في رمز التقرير الخاص بك، وهو ما ينتهك بوضوح جاف المبدأ، ولكن إذا كنت تريد الحل الأبسط، فقد يتعين عليك التعايش مع ذلك.

قد ترغب في إعادة التفكير في القيود المفروضة عليك المتمثلة في عدم وجود تجميع خارجي، حيث يبدو لي أنه سيكون من الأسهل بكثير القيام بذلك باستخدام تجميع خارجي.أو إذا كان تقريرك لن يتغير كثيرًا، فيمكنك إنشاء قائمة بأسماء المعلمات وقيمها يدويًا.

نصائح أخرى

إذا فهمت سؤالك، فقط افعل ما أفعله:قم بإسقاط مربع نص على التقرير، ثم أثناء إعداد التقرير، أدخل ما يلي:="المعلمة1:" + المعلمات! المعلمة. التسمية + "، المعلمة 2:" + المعلمات! المعلمة 2. التسمية ...

من المؤكد أنه ليس أجمل شيء، ولكنه يعمل بشكل جيد في تطبيقنا.

وأنا أستخدم التصنيفات بدلاً من القيم نظرًا لأن لدينا قيم التاريخ والوقت، ولا يهتم المستخدم إلا بالتاريخ القصير أو بالشهر والسنة (حسب الظروف)، وقد قمت بالفعل بهذا التنسيق في إعداد المعلمات .

يمكنني التفكير في طريقتين على الأقل للقيام بذلك.الأول قد ينجح، والثاني سينجح بالتأكيد.

  1. استخدم خدمة الويب.أنا متأكد تمامًا من أنني رأيت واجهة برمجة التطبيقات (API) للحصول على مجموعة من المعلمات.حتى إذا لم يكن هناك وصول مباشر، يمكنك دائمًا إنشاء مجموعة قياسية ونسخ كائنات ReportParameter من واحدة إلى أخرى في حلقة foreach - ثم الوصول إلى Count، مع توفر خصائص المعلمة الفردية عن طريق إلغاء مرجع مثيلات ReportParameter.

  2. التقارير هي RDL.RDL هو XML.قم بإنشاء XmlDocument وقم بتحميل ملف RDL، ثم استخدم DOM للقيام بذلك، حسنًا، أي شيء تريد بما يصل إلى تحديد القيم الافتراضية أو حتى إعادة كتابة سلاسل الاتصال.

إذا لم يتمكن تطبيقك من الوصول إلى نظام الملفات لملفات RDL، فيمكنك الحصول عليها عبر خدمة الويب.

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