2010-02-18 1 views
8

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

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

Любые хорошие введения, которые охватывают не-волшебников для Crystal Reports, будут потрясающими.

+0

Зачем вам RDLC в вашем примере? – Rookian

+0

Я не особо - просто интересно, как это сделать. Мне просто нужно создать собственный отчет, похожий на то, что вы увидите в Access. –

ответ

3

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

Предположим, что одним из ваших источников данных является 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

Это выглядит хорошо и все, но как бы я изменил отображение отчета - там, где вещи отображаются и т. Д. –

+0

Перейдите в текстовое поле в конструкторе отчетов, обратитесь за свойством с именем value. Первый вариант - выражение. Он откроет дизайнера expresion. Существует раздел «Категории», внутри которого есть категория (набор данных, источник данных или что-то в этом роде) со всеми источниками данных, которые вы добавили в свой отчет. Выберите источник данных и поле этого источника данных, а затем поле отобразит выбранное значение во время выполнения. – Jonathan

+0

Так что нет возможности просто назначать значения, например Report.Textbox1 = Form.Textbox1? –

-1

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