大家好,我现在使用的是VS2010专业版。由于项目需要试用了VS2010自带的报表功能。由于是第一次使用,所以遇到一点问题想请教下。感谢各位的帮助!
我创建报表的步骤是:
1、新建数据集,数据集使用的是带有参数的存储过程,由于存储过程中有创建临时表的语句,所以在使用TableAdapter配置向导的最后一步提示错误:Invalid object name '临时表名'。
2、新建RDLC报表,并绑定第一步建立的数据集。由于数据集是存储过程,在报表数据工具栏里看不到输出字段,解决的办法是手工在RDLC报表的XML中添加的字段。
3、新建一个页面并拖放一个ReportViewer控件,报表选择我已经创建好的报表,新建一个ObjectDataSource,配置ObjectDataSource的数据源为第一步建立的数据集。
以上三步完成后,在后台代码给ReportViewer.LocalReport.SetParameters赋值参数发现报表没有数据反映。给ObjectDataSource里面的数据源的参数设上默认值后报表就有数据反映了。
我的问题:
1、如何在后台给ObjectDataSource数据源的参数传值?其中有一个参数是需要传多个值的,但是这个设置仅在RDLC报表的参数属性里能设置,而ObjectDataSource的数据源参数属性只能设置参数源。
2、在给RDLC报表绑定数据集得时候,能不能写一个空的datatable仅仅附上报表的字段就行?我这样尝试过,报错:A data source instance has not been supplied for the data source 'DataSet1'. 现在搞不清楚的就是既然已经在RDLC报表上绑定了一个调用存储过程的数据集而且也设置了传入参数,为什么还要在ReportViewer这边再绑定一个相同的数据源?目前我知道的是VS2005只需要在RDL报表上绑定一个数据集就行了。