2011-02-14 20 views
7

नीचे दिए गए कोड को एसएसआरएस के लिए लिखे गए विंडोज इंटरफ़ेस में मेरे रिपोर्ट पैरामीटर के लिए दर्ज किए गए मान प्राप्त होते हैं। हालांकि यह केवल उन पैरामीटर के लिए काम करता है जो मल्टीवैल्यू की अनुमति नहीं देते हैं। पैरामीटर के बाद से। वैल्यू एक स्ट्रिंग है, मुझे नहीं पता कि इसे बहुगुणित कैसे करें।एसएसआरएस: पैरामीटर वैल्यू ऑब्जेक्ट पर एकाधिक मान कैसे सेट करें?

private RE2005.ParameterValue[] GetParamValueSettings() 
    { 
     var parameters = new RE2005.ParameterValue[_Parameters.Count()]; 

     for (int i = 0; i < _Parameters.Count(); i++) 
     { 
      parameters[i] = new RE2005.ParameterValue(); 
      parameters[i].Name = _Parameters[i].Name; 
      **parameters[i].Value = pnlParams.Controls[_Parameters[i].Name].Text;** 
     } 

     return parameters; 
    } 

बोल्ड में रेखा से ऊपर मैं एक परीक्षण के रूप में इस कोशिश की थी: पैरामीटर [i] .Value = "ए, बी, सी"; (वे वैध मान हैं)

लेकिन रिपोर्ट में एक त्रुटि फेंकता है कि यह वैध मानों की आवश्यकता है। रिपोर्ट में मैं इसे प्रदर्शित करता हूं: = शामिल हों (पैरामीटर! मेरा पैरामीटर। वैल्यू, ",")

कोई सलाह की सराहना की, धन्यवाद!

उत्तर

4

दृश्य स्टूडियो 2010 के साथ, आप initialise the Report parameter with a string array कर सकते हैं।

2005 के साथ आपको एक ही नाम के साथ कई बार पैरामीटर जोड़ना पड़ सकता है, लेकिन एक नया मान।

यह एक ऐसी प्रक्रिया है जो रिपोर्ट के लिए पैरामीटर प्राप्त करेगी यदि केवल एक बहुविकल्पीय पैरामीटर था।

private RE2005.ParameterValue[] SetParameterValue(string name, string[] values) 
    { 
     var parameters = new RE2005.ParameterValue[values.Count()]; 

     for (int i = 0; i < values.Count(); i++) 
     { 
      parameters[i] = new RE2005.ParameterValue(); 
      parameters[i].Name = name; 
      parameters[i].Value = value; 
     } 
     return parameters; 
    } 
संबंधित मुद्दे