Генерация Crystal Report "на лету" - PullRequest
0 голосов
/ 08 января 2010

Я создаю приложение Asp.Net, которое, в конце концов, сгенерирует отчет «на лету» с параметрами, введенными пользователем. Я пытаюсь понять, как динамически генерировать отчеты Crystal Report.

На самом деле у меня вызывается сохраненный процесс и заполняется DataTable результатами. Но в моей проблеме не хватает одной части. Как заполнить CrystalReportViewer с помощью DataTable.

Полагаю, мне нужно создать файл .rpt и заполнить его, но разве это бесполезное повторение кода?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 января 2010

Вам не нужна таблица данных для отчета Crystal, но вам потребуется файл rpt. Вместо заполнения таблицы данных вы можете использовать свою хранимую процедуру в качестве источника данных для своего кристаллического отчета. Самый простой способ установить источник данных для хранимой процедуры - это файл .rpt. В Visual Studio в Crystal Reports -> Database-> Database Expert выберите свою базу данных и хранимую процедуру, которую вы хотите использовать в качестве источника данных.

0 голосов
/ 09 января 2010

Это не совсем то, что вы ищете ... но это фрагмент кода, который мы используем для создания PDF-копий Crystal Reports на лету.

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

Using rpt As New ReportDocument()
  With rpt
    .Load("/Path/To/RTPFile.rpt", OpenReportMethod.OpenReportByTempCopy)
    .SetDataSource(dataSource)
    .ExportToDisk(ExportFormatType.PortableDocFormat, "/Path/To/Report.pdf")
  End With
  rpt.Close()
End Using

В этом случае «источником данных» является набор данных XSD, который был загружен с готовыми данными отчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...