C # создать отчет программно - PullRequest
8 голосов
/ 18 февраля 2010

Я хочу создать отчет, используя отчеты Crystal или RDLC, не имеет значения, какой именно. Я могу собрать все источники данных в виде динамически генерируемых текстовых полей и т. Д., Но как мне добавить это в отчет?

Например, я хочу указать имя клиента и все заказанные им товары в отчете. Теперь я могу получить всю информацию в массиве ... как бы поместить ее в отчет Crystal Report?

Было бы замечательно, если бы вы познакомились с не волшебниками Crystal Reports.

Ответы [ 2 ]

3 голосов
/ 18 февраля 2010

У каждого источника данных в вашем отчете есть имя (отчет меню-> источники данных. Это может быть не точно, потому что мой vs не на английском языке).

Предположим, что одним из ваших источников данных является prj_folder_classSample и classSample.это класс вашего проекта.Затем вам нужно добавить список в отчет.

Давайте сделаем это.

List<classSanple> lst = new List<classSample>
lst.Add(...) //Add various instances of classSample
BindingSource thisIsABindingSource = new BindingSource();
thisIsABindingSource.DataSource = lst;
reportDataSource rds = new ReportDataSource("prj_folder_classSample", thisIsABindingSource);

ReportViewer1.ProcessingMode = ProcessingMode.Local;
ReportViewer1.LocalReport.EnableExternalImages = true;
ReportViewer1.LocalReport.ReportEmbeddedResource = "YourProject.Folder.reportName.rdlc";
ReportViewer1.LocalReport.DataSources.Add(rds)

Я делаю это таким образом.Надеюсь, это поможет вам.

0 голосов
/ 18 февраля 2010

Посмотрите эту ссылку http://msdn.microsoft.com/en-us/library/cc281022.aspx#RDCE, если вы хотите динамически изменить свой отчет. Это расширение вызывается непосредственно перед тем, как отчет будет обработан. Microsoft создала объектную модель RDL. С этим вы можете настроить весь свой отчет. Но, возможно, вам не нужно это расширение. Просто попробуйте сначала свои вещи в дизайнере отчетов.

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