簡體   English   中英

MVC中的Crystal Reports

[英]Crystal Reports in MVC

好吧,所以我正在為我工​​作的公司構建一種報告中心,而且很容易就是建立一個基於Web的文件瀏覽器,現在我正在轉向它的報告方面並開始它,我'集成Crystal Reports。 我已經從他們的SAP網站上獲取了這些文件,但是我遇到了一些問題,

首先,我發現的所有示例都使得您必須定義數據源/數據庫,並在代碼中包含它的登錄信息。 這是一個問題,因為我們有很多水晶報告,有很多不同的數據庫參考,所以我不能只使用一個。 事實上,有報道稱我們同時使用該引用多個數據庫。

其次,我發現的所有示例都表明您必須為每個報告創建一個特定頁面。 我的目標是能夠將報告鏈接作為變量,並為我們擁有的所有報告創建一個頁面。

我看了昨天能找到的一切,但找不到我需要的東西。 我也想知道ReportClass.Load函數到底是做什么的。 在我可以找到的每個例子中都沒有注意到我使用它時ReportClass中的任何明顯差異。

在搜索時,我找到了一個答案,建議構建一個可以構建Reports的Web表單應用程序,然后使用I-Frame來抓取它,但這是我想要避免的。

所以在審查中:

1)我需要構建Crystal Reports而不必引用數據庫

2)我只需要提供.rpt文件的路徑,就可以靈活地處理變量Report

3)我希望它在MVC中的單個應用程序中,並避免IFrame

非常感謝你的幫助!!

編輯:我發現了一個適合我的解決方案。 我沒有使用RAZOR視圖,而是使用了ASPX視圖,該視圖在工具箱中包含Crystal Reports Viewer Tool。 為了使它變量我使用了ViewBag。

控制器代碼:

[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>

這里提出一個“類似的”(不是確切的)問題。 希望這可以讓你走上正確的道路。

1)我需要構建Crystal Reports而不必引用數據庫

您是否考慮過為您的報告和分析需求構建數據倉庫? 與傳統報告結構相比,數據倉庫具有許多優勢,尤其是在從多個來源繪制數據時。

關於第2點和第3點,您是否認為水晶報告可能根本不是最理想的報告解決方案?

Crystal報告是一個強大的工具,但老實說,當它通過互聯網或內部網提供報告智能時,我不是它的忠實粉絲。

你考慮過切換工具嗎? 例如, http://www.tableausoftware.com/提供了一些出色的數據可視化工具,IMO是一個更好的工具,可用於您所描述的工作。

請注意,這只是一個工具(因為有許多工具),但是我有一些經驗並且超出了我們的期望,特別是當坐在數據倉庫之上時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM