Crystal Reports в MVC - PullRequest
       11

Crystal Reports в MVC

5 голосов
/ 04 января 2012

Хорошо, я создаю своего рода центр отчетности для компании, в которой я работаю, а самая простая часть заключалась в создании веб-браузера для файлов, теперь я перехожу к аспекту отчета и начинаю Я интегрирую Crystal Reports. Я уже получил файлы с веб-сайта SAP для них, но у меня возникла пара проблем,

Во-первых, все примеры, которые я нашел, позволяют вам определить источник данных / базу данных и включить информацию об этом в коде. Это проблема, потому что у нас МНОГО кристаллических отчетов с множеством различных ссылок на базы данных, поэтому я не могу просто использовать один для всех из них. На самом деле, есть сообщения, что мы используем эту ссылку на несколько баз данных одновременно.

Во-вторых, все примеры, которые я нашел, создают впечатление, что для каждого отчета должна быть создана отдельная страница. Моя цель - иметь возможность иметь ссылку на отчет в качестве переменной и иметь одну страницу для всех имеющихся у нас отчетов.

Я посмотрел на все, что смог найти вчера, и не смог найти то, что мне нужно. Мне также интересно, что вообще делает функция ReportClass.Load. Это было в каждом примере, который я мог найти, и я не заметил какой-либо явной разницы в классе отчетов, который у меня был, когда я его использовал.

Во время поиска я нашел ответ, в котором предлагалось создать приложение для веб-форм, которое будет создавать отчеты, а затем использовать I-Frame для его захвата, но я бы хотел этого избежать.

Итак, в обзоре:

1) Мне нужно создать Crystal Reports без ссылки на базу данных

2) Мне нужно, чтобы он был гибким для переменной Report, указав только путь к файлу .rpt

3) Я бы хотел, чтобы это было в одном приложении, в MVC, и избегая IFrames

Большое спасибо за вашу помощь !!

РЕДАКТИРОВАТЬ: Я нашел решение, которое работает для меня. Вместо представления RAZOR я использовал представление ASPX, в котором имеется инструмент просмотра отчетов Crystal Reports. Чтобы сделать его переменным, я использовал 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>

Ответы [ 2 ]

0 голосов
/ 05 января 2012

1) Мне нужно создать Crystal Reports без ссылки на базу данных

Рассматривали ли вы создание хранилища данных для ваших потребностей в отчетности и анализе? Хранилище данных имеет много преимуществ по сравнению с традиционной структурой отчетности, особенно при получении данных из нескольких источников.

Что касается пунктов 2 и 3, считали ли вы, что отчеты по кристаллам могут просто не быть идеальным решением для создания отчетов?

Crystal Reports - мощный инструмент, но, честно говоря, я не большой поклонник его, когда речь заходит о предоставлении аналитических отчетов через Интернет или интранет.

Рассматривая вопрос о переключении инструментов? Например, http://www.tableausoftware.com/ предоставляет несколько превосходных инструментов визуализации данных, а IMO - намного лучший инструмент для работы, которую вы описываете.

Обратите внимание, что это просто один инструмент (так как их много), но у меня есть некоторый опыт работы с ним, и он превзошел наши ожидания, особенно когда я работал над хранилищем данных.

0 голосов
/ 05 января 2012

Был задан "похожий" (не точный) вопрос здесь .Надеюсь, это поможет вам выбрать правильный путь.

...