الخدمات العام 2008: هل هناك طريقة لتغيير خصائص العنصر، اعتمادا على الكيفية التي يتم بها المقدمة في التقرير؟

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

سؤال

وأنا أكتب التقرير، الذي يصدر بشكل جيد لPDF. ومع ذلك، فإنه لا تصدير إلى مستند Word (.doc) بشكل صحيح.

و(هوامش الحصول على تجاهل في منطقة الرأس، الذي عبث صفحات فواصل، نص تذييل مفقود، الخ.)

لكمحاولة للتغلب على هذه، أريد أن تعطيل تمكين و / أو إعادة الحجم بعض البنود في تقريري اعتمادا على إذا كان يتم تقديمها على أنها PDF أو مستند Word.

هل هناك أي طريقة لوضع بنود الممتلكات وعلى أساس كيف يتم تقديم تقرير؟

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

المحلول

وأعتقد أن الحل الوحيد للمشكلة هو: في التقرير الخاص بك يمكنك الوصول Globals.ReportServerUrl. عند استدعاء التقرير يمكنك تحديد في تقديم نوع (وحتى غيرها من الاشياء مثل أبعاد الخ) في URL. كل ما عليك القيام به هو كتابة بعض التعليمات البرمجية المخصصة لاستخراج تقديم نوع من URL والانتهاء من ذلك.

لمزيد من المعلومات عن جميع المعلمات URL الممكنة تذهب هنا: HTTP: / /technet.microsoft.com/en-us/library/ms154040.aspx

نصائح أخرى

وكان سيناريو مشابه كنت بحاجة إلى استخدام عنصر تحكم المشاهد التقرير في التطبيق asp.net. الحل خطرت لي، كان يختبئ شريط الأدوات في السيطرة المشاهد التقرير، وخلق بلدي المنسدلة محدد لمختلف صيغ (PDF و Excel هي اثنين نستخدمها حاليا).

والحل هو، عند تحميل السيطرة المشاهد التقرير، I تمرير المعلمتين إضافي لتقاريري تشير إلى "RenderType = HTML". عندما يتم طلب للحصول على قول نسخة PDF، وأنا استخدم نفس المنهجية، إلا أنني استخدام ServerReport.Render () وتمرير "PDF كمعلمة RenderType، نفس ل Excel.

وهذا يتيح لي أن تفعل التنسيق الشرطي / عرض / إخفاء الاشياء في تقاريري لمختلف صيغ التقرير.

ولأن عارض Webcontrol تقرير يدعم وظائف لتقديم صفحات معينة / الأزيز من التعليمات البرمجية خلف الخ، وكان من السهل جدا لبناء منطقتنا "شريط الأدوات" لمعالجة التقرير، وقدم لنا ميزة التصميم هو أكثر ملاءمة لدينا التطبيق، (على الرغم من أن هذا يمكن القيام به مع المغلق على أي حال). وثمة مسألة أخرى أنها تحل ميزة الطباعة غريبة تتطلب المكون س النشط، نفذنا لدينا آلية الطباعة الخاصة لكتابة التقرير بطريقة ودية الطابعة.

وآمل أن يساعد هذا.

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