2009-10-15 20 views
6

में गतिशील रूप से एक्सएसडी फ़ाइलपैथ को बदलें मेरे पास एक क्रिस्टल रिपोर्ट है जो एक्सएसडी स्कीमा फ़ाइल पर आधारित है।क्रिस्टल रिपोर्ट

रिपोर्ट परिभाषा के भीतर, मैं डेटा स्रोत स्थान, विशेष रूप से, फ़ाइल पथ को संशोधित कर सकता हूं। यह वह जगह है जहां मैं फ़ाइल पथ सेट कर सकता हूं जहां एक्सएसडी स्कीमा फ़ाइल मेरी मशीन पर रहता है।

इस बिंदु पर, सबकुछ ठीक से काम करता है। यदि फ़ाइल पथ मौजूद नहीं है, रिपोर्ट में एक रनटाइम त्रुटि है

:

यहाँ समस्या है।

यह विशेष रूप से, तैनाती के साथ मुद्दों को उत्पन्न करता है क्योंकि मेरा स्थानीय विकास पर्यावरण शारीरिक रूप से परीक्षण/लाइव वातावरण से अलग है। यानी फ़ाइल पथ बहुत अलग हैं और मैं 'हार्ड-कोडेड' फ़ाइल पथ पर भरोसा नहीं करना चाहता हूं।

मेरा सवाल यह है कि, मैं जानना चाहता हूं कि मैं या तो इस फ़ाइल पथ को गतिशील रूप से (कोड में) कैसे बदल सकता हूं या रिपोर्ट परिभाषा में सेट कर सकता हूं जैसे कि यह रिपोर्ट कहां से संबंधित है?

+0

क्रिस्टल का कौन सा संस्करण उपयोग कर रहे हैं के लिए नमूना कोड नीचे उपयोग? –

उत्तर

1

डाटासोर्स स्थान को रिपोर्ट फ़ाइल स्थान के समान होने का सबसे आसान तरीका होगा। जब आप सेट डेटास्रोत स्थान संवाद खोलते हैं, तो गुण प्लस-बॉक्स का विस्तार करें, फिर फ़ाइल पथ नाम पर राइट-क्लिक करें और "रिपोर्ट के समान ही" चुनें।

0

गतिशील xml या XSD की स्थापना

ReportDocument crReportDoc.DataSourceConnections[0].SetConnection(p_XMLDocument + " " + tdgDoc_XSD, "", null, ""); 
// crReportDoc.DataSourceConnections[0].SetConnection(p_XMLDocument + " " + tdgDoc_XSD, "", null, ""); 
NameValuePairs2 logon = new NameValuePairs2(); 
logon.Set("QE_ServerDescription", p_XMLDocument + " " + tdgDoc_XSD); 
logon.Set("Local Schema File", tdgDoc_XSD); 
logon.Set("Local XML File", p_XMLDocument); 
crReportDoc.DataSourceConnections[0].SetLogonProperties(logon); 
+2

आपको अपने कोड के प्रारूप में सुधार करने की आवश्यकता हो सकती है –

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