ठीक है, इसलिए मैं जिस कंपनी के साथ काम करता हूं उसके लिए मैं एक प्रकार की रिपोर्टिंग सेंटर बना रहा हूं और आसान हिस्सा वेब आधारित फ़ाइल ब्राउज़र बना रहा था, अब मैं इसके रिपोर्ट पहलू पर जा रहा हूं और इसे शुरू करने के लिए, मैं क्रिस्टल रिपोर्ट को एकीकृत कर रहा हूं। मुझे पहले से ही एसएपी वेबसाइट से फाइलें मिल चुकी हैं, लेकिन मुझे कुछ समस्याएं आ रही हैं,एमवीसी में क्रिस्टल रिपोर्ट
सबसे पहले, मुझे मिले सभी उदाहरण इसे बनाते हैं ताकि आपको डेटा स्रोत/डेटाबेस, और कोड में इसके लिए लॉग इन जानकारी शामिल करें। यह एक समस्या है क्योंकि हमारे पास बहुत सारे डेटाबेस संदर्भों के साथ क्रिस्टल रिपोर्ट्स की बहुत सारी है, इसलिए मैं उन सभी के लिए केवल एक का उपयोग नहीं कर सकता। वास्तव में, रिपोर्टें हैं कि हम एक ही समय में उस संदर्भ एकाधिक डेटाबेस का उपयोग करते हैं।
दूसरा, मैंने पाया है कि सभी उदाहरण ऐसा लगता है कि आपको प्रत्येक रिपोर्ट के लिए एक विशिष्ट पृष्ठ बनाया गया है। मेरा लक्ष्य एक चर के रूप में रिपोर्ट लिंक प्राप्त करने में सक्षम होना है और हमारे पास मौजूद सभी रिपोर्टों के लिए एक पृष्ठ है।
मैंने कल जो कुछ भी पा सकता था उसे देखा और मुझे जो चाहिए वह मुझे नहीं मिला। मैं यह भी सोच रहा हूं कि पृथ्वी पर ReportClass.Load फ़ंक्शन भी करता है। यह हर उदाहरण में था जिसे मैं पा सकता था और जब मैंने इसका उपयोग किया था तो रिपोर्ट क्लास में मैंने कोई स्पष्ट अंतर नहीं देखा था।
खोज करते समय, मुझे एक ऐसा उत्तर मिला जिसने एक वेब फॉर्म एप्लिकेशन बनाने का सुझाव दिया जो रिपोर्ट का निर्माण करेगा, और फिर इसे पकड़ने के लिए एक आई-फ्रेम का उपयोग करें, लेकिन यह कुछ है जिसे मैं टालना चाहता हूं।
समीक्षा मेंतो:
1) मैं डाटाबेस
2) मैं यह करने के लिए सिर्फ पथ की आपूर्ति करके एक चर रिपोर्ट करने के लिए लचीला होने की जरूरत संदर्भ के लिए बिना क्रिस्टल रिपोर्ट का निर्माण करने की जरूरत है। rpt फ़ाइल
3) मैं इसे MVC में, एक भी आवेदन में होना चाहते हैं, और परहेज IFrames
आप आपकी मदद के लिए बहुत बहुत धन्यवाद !!
संपादित करें: मुझे एक समाधान मिला जो मेरे लिए काम करता है। रेजर व्यू का उपयोग करने के बजाय, मैंने एएसपीएक्स व्यू का इस्तेमाल किया, जिसमें टूलबॉक्स में क्रिस्टल रिपोर्ट व्यूअर टूल है। इसे परिवर्तनीय बनाने के लिए मैंने व्यूबैग का उपयोग किया।
नियंत्रक कोड:
[HttpGet]
public ActionResult Viewer(string Path)
{
var sessionID = Session.SessionID;
ViewBag.Path = newPath;
return View();
}
ASPX देखें कोड:
<% Report.Report.FileName = ViewBag.Path; %>
<CR:CrystalReportViewer ID="Viewer" runat="server" AutoDataBind="True" GroupTreeImagesFolderUrl="" Height="100%" ReportSourceID="Report" ToolPanelWidth="200px" Width="100%" />
<CR:CrystalReportSource ID="Report" runat="server">
<Report></Report>
</CR:CrystalReportSource>
मुझे पसंद है, और यह अब से एक अच्छा समाधान हो सकता है, असल में मैं एसएसआरएस रिपोर्ट के साथ-साथ अंतिम परियोजना में एक्सेल रिपोर्ट के लिए कार्यक्षमता जोड़ने की योजना बना रहा हूं, लेकिन हमारे पास पहले से ही सैकड़ों क्रिस्टल रिपोर्ट पहले से ही बनाई गई हैं , मैं सिर्फ उनके लिए दर्शक बना रहा हूँ। उन्हें फिर से करने की कोशिश करने के लिए रास्ता बहुत लंबा लगेगा। हम अब एसएसआरएस रिपोर्ट की ओर बढ़ रहे हैं, लेकिन हमें अभी भी क्रिस्टल में पहले से मौजूद रिपोर्टों की एक विशाल बहुमत की आवश्यकता है। और मदद करने के लिए धन्यवाद !! –
हाँ, मैंने आपकी पोस्ट के मौजूदा रिपोर्ट के बारे में अनदेखा किया है, इसलिए मैंने अपनी टिप्पणी हटा दी :) – HardCode
मुझे अंक 2 और 3 के बारे में पता नहीं है, लेकिन क्रिस्टल, या एसएसआरएस, या किसी अन्य बिंदु में बिंदु 1 संभव नहीं है रिपोर्ट डिज़ाइनर मुझे पता है - यदि आप फ़ील्ड को निर्धारित करने का कोई तरीका नहीं रखते हैं तो आपको रिपोर्ट में फ़ील्ड जोड़ने के लिए कैसे कहा जाता है? (आपको डेटाबेस तक पहुंच के बिना मौजूदा रिपोर्ट का लेआउट * संशोधित करने में सक्षम होना चाहिए, लेकिन उन्हें स्क्रैच से नहीं बनाना चाहिए।) –