我想创建一个报告,使用Crystal报告或RDLC,并不重要。我可以将所有数据源合并为一系列动态生成的文本框等,但如何将其添加到报表中?
例如,我希望在报告中显示客户名称及其所有订购商品。现在我可以获得数组中的所有信息......然后我将如何将其放入Crystal Report?
任何涵盖Crystal Reports非面向对象的精彩介绍都会令人惊叹。
答案 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对象模型。有了这个,您可以自定义整个报告。但也许你不需要这个扩展。只需在报表设计器中首先尝试您的内容。