मैं अपनी रिपोर्ट पर सभी परिभाषित मानकों के माध्यम से लूप करने और पैरामीटर नाम और मान की एक प्रदर्शन स्ट्रिंग बनाने में सक्षम होना चाहता हूं। इसके बाद मैं रिपोर्ट पर परिणाम प्रदर्शित करूंगा ताकि उपयोगकर्ता जानता हो कि उस विशिष्ट निष्पादन के लिए कौन से पैरामीटर का उपयोग किया गया था। एकमात्र समस्या यह है कि मैं पैरामीटर संग्रह के माध्यम से लूप नहीं कर सकता। पैरामीटर्स संग्रह पर एक सूचकांक प्रतीत नहीं होता है, और न ही यह IENumerable लागू करने लगता है। क्या कोई इसे पूरा करने में सक्षम है? मैं एसएसआरएस 2005 का उपयोग कर रहा हूं और इसे रिपोर्ट कोड (यानी, कोई बाहरी असेंबली) में लागू किया जाना चाहिए। धन्यवाद!एसएसआरएस 2005 - रिपोर्ट पैरामीटर्स के माध्यम से लूपिंग
उत्तर
दुर्भाग्य से, ऐसा लगता है कि ऐसा करने का कोई आसान तरीका नहीं है। अधिक जानकारी के लिए http://www.jameskovacs.com/blog/DiggingDeepIntoReportingServices.aspx देखें। यदि आप comments of that post देखते हैं, तो इसके आसपास जाने के कुछ तरीके हैं, लेकिन वे बहुत ही सुरुचिपूर्ण नहीं हैं। सबसे सरल समाधान के लिए आपको अपने रिपोर्ट कोड में कहीं भी रिपोर्ट पैरामीटर की एक सूची की आवश्यकता होगी, जो स्पष्ट रूप से DRY सिद्धांत का उल्लंघन करता है, लेकिन यदि आप सबसे सरल समाधान चाहते हैं, तो आपको बस इसके साथ रहना होगा।
आप बाहरी बहिष्कार की अपनी बाधा पर पुनर्विचार करना चाहेंगे, क्योंकि ऐसा लगता है कि बाहरी असेंबली के साथ ऐसा करना अधिक आसान होगा। या यदि आपकी रिपोर्ट बहुत अधिक नहीं जा रही है, तो आप मैन्युअल रूप से पैरामीटर नामों और मानों की सूची बना सकते हैं। मैं क्या कर
मैं अपने प्रश्न को समझने कर रहा हूँ, तो बस है: तो जब तुम रिपोर्ट स्थापित कर रहे हैं रिपोर्ट पर एक पाठ बॉक्स ड्रॉप, डालने निम्नलिखित: = "पैरामीटर 1:" + पैरामीटर पैरामीटर!। लेबल + ", पैरामीटर 2:" + पैरामीटर! पैरामीटर 2। लेबल ...
माना जाता है कि यह सबसे सुंदर बात नहीं है, लेकिन यह हमारे ऐप में बहुत अच्छी तरह से काम करता है।
और मैं मूल्यों के बजाय लेबल का उपयोग कर रहा हूं क्योंकि हमारे पास डेटाटाइम मान हैं, और उपयोगकर्ता केवल छोटी तारीख या महीने और वर्ष (परिस्थिति के आधार पर) की परवाह करता है, और मैंने पहले से ही उस स्वरूपण कार्य को पहले ही कर लिया है पैरामीटर सेट अप करना।
मैं ऐसा करने के कम से कम दो तरीकों के बारे में सोच सकता हूं। पहला काम कर सकता है, दूसरा निश्चित रूप से काम करेगा।
वेब सेवा का उपयोग करें। मुझे यकीन है कि मैंने पैरामीटर का संग्रह प्राप्त करने के लिए एपीआई देखा था। यहां तक कि यदि कोई सीधी पहुंच नहीं है तो भी आप हमेशा एक मानक संग्रह बना सकते हैं और रिपोर्ट पैरामीटर ऑब्जेक्ट को एक से दूसरे में फ़ोरैच लूप में कॉपी कर सकते हैं - और फिर रिपोर्ट पैरामीटर उदाहरणों को संदर्भित करके उपलब्ध व्यक्तिगत पैरामीटर गुणों के साथ गणना का उपयोग करें।
रिपोर्ट आरडीएल हैं। आरडीएल एक्सएमएल है। एक एक्सएमएल डॉक्यूमेंट बनाएं और आरडीएल फ़ाइल लोड करें, फिर डीओएम का उपयोग करें, अच्छी तरह से जो आपको पसंद है डिफ़ॉल्ट डिफॉल्ट वैल्यू सेट करने या यहां तक कि कनेक्शन स्ट्रिंग को फिर से लिखना भी शामिल है।
यदि आपके ऐप में आरडीएल फाइलों तक फ़ाइल-सिस्टम पहुंच नहीं होगी तो आप उन्हें वेब सेवा के माध्यम से प्राप्त कर सकते हैं।
मुझे एहसास नहीं हुआ कि वह प्रतिपादन के दौरान रिपोर्ट के भीतर से था। मैं माइक्रोसॉफ्ट के अंदर चारों ओर पोक करने के लिए प्रतिबिंब का उपयोग करूंगा। रिपोर्टिंग सर्विसेज। रिपोर्टपोर्सिंग। रिपोर्टऑब्जेक्ट मॉडल। पैरामीटर यह देखने के लिए कि क्या इसे और अधिक सुलभ बनाया जा सकता है। –