2010-07-20 2 views

ответ

2

Да, может использоваться просмотрщик сообщений telerik. Это может помочь: http://www.telerik.com/community/forums/reporting/telerik-reporting/reportviewer-and-asp-net-mvc.aspx

Я думаю, вам нужно следующее:

  • использовать веб-форму, а не вид (он может работать с тем, косяк»помните
  • с RUNAT =„сервер“

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

НТН.

4

Есть несколько вещей, которые вам нужно сделать: 1. Вы должны использовать форму ASPX.NET, а не вид Razor. 2. Вы должны отобразить вашу страницу .aspx как частичный вид в своем контроллере. 3. Вам нужно будет переопределить несколько классов CSS и новые, чтобы отчет правильно отображался в браузере. Проверьте это видео-учебник для более подробной информации: http://www.youtube.com/watch?v=t-iA05KpDFM

Или использовать эти примеры и источник здесь: http://www.telerik.com/community/code-library/reporting/general/using-telerik-web-reportviewer-in-asp-net-mvc-application.aspx

Удачи!

6

У меня есть отчетность без зрителя, вместо этого пользователю предоставляется отчет «pdf», который можно загрузить.

Вот сценарий, пользователь покупает продукт онлайн и в конце процесса проверки квитанция представляется через отчет Telerik.

  1. Добавить ссылки на сборщики сообщений Telerik в вашем проекте.
  2. Создать отчет. В Telerik TV есть отличные уроки по началу работы с Telerik reporting.
  3. Контроллер должен сделать вызов в репозиторий и передать поток байтов обратно в браузер.

    public virtual ActionResult DownloadReceiptReport(Order model) 
    { 
        byte[] contents = ShoppingCartRepository.GetReceiptReport(model); 
        return File(contents, "application/pdf", "Receipt.pdf"); 
    } 
    
  4. В репозитории создать функцию, чтобы создать отчет, в этом случае отчет непосредственно не связан с SqlDataSource, источник данных подается компонент ObjectDataSource:

    public byte[] GetReceiptReport(Order order) 
    { 
        Telerik.Reporting.ObjectDataSource objectDataSource = new Telerik.Reporting.ObjectDataSource(); 
        objectDataSource.DataSource new PurchaseReceiptReportModel() 
        { 
         CustomerName = order.CustomerName, 
         Total= order.Total, 
         PurchaseDate= DateTime.Now 
        }; 
    
        PurchaseReceiptReport report = new PurchaseReceiptReport(); 
        report.DataSource = objectDataSource; 
    
        ReportProcessor reportProcessor = new ReportProcessor(); 
        RenderingResult result = reportProcessor.RenderReport("PDF", report, null); 
        return result.DocumentBytes; 
    } 
    

В конце пользователь получит всплывающее окно загрузки с pdf-сообщением.

Надеюсь, это поможет.

+0

Это действительно большой кусок советы. Спасибо за это миллион. – ppumkin

0

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

Отчет PackingList был создан в соответствии с примерами Telerik и находится в отчете Library под названием LogisticsReports. Я использую инструкцию сверху контроллера, используя Telerik.Reporting;

public ActionResult ShippingPackingList(int id = 0) 
    { 
     var instanceReportSource = new InstanceReportSource(); 
     instanceReportSource.ReportDocument = new LogisticsReports.PackingList(); 
     instanceReportSource.Parameters.Add(new Parameter("ShippingHeaderID", id)); 
     Telerik.Reporting.Processing.ReportProcessor reportProcessor = new Telerik.Reporting.Processing.ReportProcessor(); 
     Telerik.Reporting.Processing.RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, null); 
     byte[] contents = result.DocumentBytes; 
     return File(contents, "application/pdf", "PackingList1.pdf"); 

    } 
Смежные вопросы