C#以编程方式创建报告

时间:2010-02-18 14:12:41

标签: c# crystal-reports report

我想创建一个报告,使用Crystal报告或RDLC,并不重要。我可以将所有数据源合并为一系列动态生成的文本框等,但如何将其添加到报表中?

例如,我希望在报告中显示客户名称及其所有订购商品。现在我可以获得数组中的所有信息......然后我将如何将其放入Crystal Report?

任何涵盖Crystal Reports非面向对象的精彩介绍都会令人惊叹。

2 个答案:

答案 0 :(得分:3)

报告的每个数据源都有一个名称(菜单报告 - >数据源,可能不准确,因为我的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)

我是这样做的。希望它能帮到你。

答案 1 :(得分:-1)

如果您想动态更改报告,请查看此链接http://msdn.microsoft.com/en-us/library/cc281022.aspx#RDCE。在呈现报表之前调用此扩展。 Microsoft已创建RDL对象模型。有了这个,您可以自定义整个报告。但也许你不需要这个扩展。只需在报表设计器中首先尝试您的内容。