没用过ReportViewer,下面是我在MSDN里帮你查的一点资料,希望能帮上点忙:
如何为 ReportViewer 报表添加数据源
建议使用下列方法来设置数据源,以便能够在客户端报表定义中使用该数据源。
向应用程序项目中添加数据源并配置指向基础数据的数据连接。请在基础数据存储区中选择要使用的特定数据。要在报表中使用的数据必须存在于“数据源”窗口中。对于数据表,数据源将显示查询所返回的列名称。对于业务对象的可枚举集合,数据源将显示由类对象所公开的简单数据类型的公共属性列表。
若要创建数据表,请向项目中添加数据集,并使用 TableAdapter 向导配置该数据表。TableAdapter 向导提供了查询生成器和数据预览功能,使您可以立即确认查询结果。
若要创建业务对象,请使用“项目”菜单中的“添加新项”命令,并选择类对象。提供用于公开简单数据类型的公共属性的实现方式,以便在设计时使用。提供用于返回这些属性的可枚举集合的方法,以便在运行时使用。
使用业务对象
业务对象是公开简单数据类型的公共属性的任意应用程序对象。业务对象的示例可包括基础数据存储区中的客户对象集合、由应用程序创建的书籍标题对象数组或者从 RSS XML 源创建的通道对象列表。
若要成为可访问的数据源,该集合必须支持 IEnumerable。可绑定数据在“数据源”窗口中显示为一个层次结构视图。对于业务对象,数据源将显示由类对象所公开的简单数据类型的公共属性列表。您随后可以将它们绑定到报表定义中的数据区域和文本框中。
若要提供业务对象集合,可以向项目中添加类或添加对类程序集的引用。
使用数据表
DataTable 是 ADO.NET DataSet 的一部分,通过从“项目”菜单中选择“添加新项”可以轻松地将其添加到项目中。若要配置数据连接,请启动 TableAdapter 配置向导。从“数据”菜单中选择“添加”,然后选择“TableAdapter”。还可以定义查询来限制结果集。向导结束后,可通过“数据源”窗口来访问 DataTable 中的列,以便您可以将它们绑定到客户端报表定义中的数据区域和文本框中。
为 ReportViewer Web 服务器控件定义数据源
数据源控件支持提取数据访问层,以便网页上的控件绑定到数据源,而该数据源随后绑定到实际数据。这使您可以有效地更改数据源,而无需将每个控件重新绑定到每个数据块。
当您设计网页时,“工具箱数据”区域将列出几个数据源控件,例如 SqlDataSource 和 XmlDataSource。某些数据源控件支持在网页中使用页内存,其他控件则使用共享数据。因为报表不使用页内存,所以对于 ReportViewer Web 服务器控件,最佳选择是使用 ObjectDataSource 控件。此控件在内存中缓存对象(DataTable 或业务对象集合)与报表数据区域之间架起了一座桥梁。如果向网页中添加了 ReportViewer 控件,将会自动添加和配置 ObjectDataSource 控件。
为了尽可能避免编写额外代码,ASP.NET 的网页支持提供了额外的后台处理来检测提供可绑定业务对象的集合。如果向项目中添加的类将返回一个对象集合,且这些对象可以被标识为业务对象,则该集合将会自动添加到“网站数据源”窗口中。