2010-03-08 10 views
7

मेरे पास एक अनुकूलन योग्य rdlc रिपोर्ट है जहां उपयोगकर्ता चुन सकते हैं कि कौन से कॉलम दिखाना है। सभी कॉलम रिपोर्ट डिज़ाइनर में शामिल हैं, और मैं उपयोगकर्ता की पसंद के आधार पर कॉलम छुपाने/दिखाने के लिए पैरामीटर का उपयोग करता हूं। रिपोर्ट सही ढंग से प्रस्तुत करती है, और केवल चयनित कॉलम दिखाती है, फिर भी, रिपोर्ट की समग्र चौड़ाई वही है जैसे सभी कॉलम दिखाई दे रहे थे। इसका मतलब है कि रिपोर्ट में चयनित कॉलम के दाईं ओर एक विशाल खाली क्षेत्र हो सकता है, जो बहुत मूर्ख दिखता है।कुछ कॉलम छुपाए जाने पर मैं rdlc रिपोर्ट की समग्र चौड़ाई कैसे समायोजित करूं?

तो मेरा प्रश्न: रिपोर्ट में एक बड़े मूर्ख खाली क्षेत्र से बचने के लिए रनटाइम पर रिपोर्ट चौड़ाई को गतिशील रूप से समायोजित करने का कोई तरीका है? मैंने रिपोर्ट बॉडी की चौड़ाई को पैरामीटर असाइन करके डिजाइनर में ऐसा करने का प्रयास किया .... लेकिन इसकी अनुमति नहीं थी। चौड़ाई डिजाइनर में किसी भी प्रकार की अभिव्यक्ति नहीं हो सकती है, केवल वास्तविक मूल्य की अनुमति है।

कोई सुझाव?

उत्तर

0

रिपोर्ट की वास्तविक चौड़ाई डिजाइनर में तय की गई है ताकि रिपोर्ट को रन टाइम पर आकार में बदला जा सके। आप सही हैं कि रिपोर्ट डिजाइनर में अभिव्यक्ति असाइन करने या रिपोर्ट, पेज या बॉडी को गतिशील रूप से चौड़ाई मान निर्दिष्ट करने का कोई तरीका नहीं है।

हालांकि, rdlc रिपोर्ट के लिए कंटेनर की चौड़ाई रन टाइम पर नियंत्रित की जा सकती है। यदि आप अपने रिपोर्ट व्यूअर को पैनल नियंत्रण में डालते हैं तो आपको वांछित आउटपुट प्राप्त करने में सक्षम होना चाहिए। चूंकि आपका यूआई उपयोगकर्ताओं को यह तय करने की अनुमति देता है कि कौन से कॉलम शामिल हैं, आपको प्रत्येक वैकल्पिक कॉलम के लिए चौड़ाई मान संलग्न करने और उनको जोड़ना चाहिए और कंटेनर को उपयुक्त के रूप में आकार देना चाहिए।

याद रखें कि यदि आप कंटेनर को पुनः आकार देते हैं तो रिपोर्ट के अंदर एक सफेद स्पेस समस्या सरल रूप से फ़ॉर्म पर एक सफेद स्थान समस्या में बदल जाती है। अभी भी उस फ्रेम के बाहर खाली जगह के साथ रिपोर्ट के चारों ओर एक तंग फ्रेम अच्छी तरह से हो सकता है जो आप चाहते हैं।

HTH & चीयर्स,

सीईसी

+0

आप rdlc को XmlDocument ऑब्जेक्ट में लोड करके और "आकार" तत्व समायोजित करके कॉलम की चौड़ाई समायोजित कर सकते हैं। मैं रनटाइम पर कॉलम छुपाने के लिए हर समय ऐसा करता हूं। – clamchoda

1

मैं एक समाधान है कि मूर्ख हो सकता है है, लेकिन कम से कम यह मेरे लिए काम करता है; ताकि आप rdlc रिपोर्ट डिज़ाइनर के साथ समाप्त हो जाएं, इसे बंद करें और फिर xml संपादक के साथ rdlc रिपोर्ट खोलें, फिर टैग के भीतर <body>...</body> टैग के ठीक बाद टैग करें, आप <width>...</width> टैग देख सकते हैं जिसमें रिपोर्ट की चौड़ाई है, अपने मूल्य को वास्तव में छोटे मान में संशोधित करें (<width>1in</width> कहें), यह मूर्खतापूर्ण रिक्त स्थान के बिना रिपोर्ट दिखाएगा।

लेकिन याद रखें कि यदि आप डिज़ाइनर में rdlc रिपोर्ट खोलते हैं, तो यह चौड़ाई को दृश्य क्षेत्र में रीसेट कर देगा ताकि समस्या फिर से दिखाई दे, इसलिए रिपोर्ट से किए जाने के बाद ऐसा करें।

मुझे यह एक मूर्ख समाधान पता है, लेकिन ग्राहक पक्ष की तुलना में डेवलपर पक्ष में यह बेहतर मूर्खतापूर्ण है^_ ^।

उम्मीद है कि इससे मदद मिलती है।

1

यदि संभव हो तो आप रिक्त स्थान भरने के लिए किसी अन्य कॉलम की चौड़ाई बढ़ा सकते हैं। मैंने इस समस्या को निम्नानुसार हल किया।

उदाहरण के लिए मेरे पास कॉलम 'नाम' और 'छूट' है। डिस्काउंट छुपाया जा सकता है और मुझे Name.Width को Name.Width + Discount.Width में बदलना चाहिए।

मैंने डिस्काउंट के समान चौड़ाई के साथ 'नाम' कॉलम से एक नया कॉलम (इसे 'NameExt') पर कॉल किया है। 'नाम' कॉलम और 'NameExt' कॉलम की मर्ज किए गए कक्ष। फिर 'NameExt' के लिए 'डिस्काउंट' और व्यस्त दृश्यता नियम के लिए दृश्यता नियम सेट करें।

उम्मीद है कि इससे मदद मिल सकती है।

संबंधित मुद्दे