作业帮 > ASP.NET > 教育资讯

ASP.NET教程:asp.net中轻量级报表RDLC的动态数据绑定

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 04:48:09 ASP.NET
ASP.NET教程:asp.net中轻量级报表RDLC的动态数据绑定
ASP.NET教程:asp.net中轻量级报表RDLC的动态数据绑定ASP.NET
【51Test.NET-ASP.NET教程:asp中轻量级报表RDLC的动态数据绑定】:
asp中的轻量级报表RDLC我最近一直在研究。数据源的动态绑定我一直觉得过于复杂,网上提供的都是以下模式:

//设置为本地报表

// this.ReportViewer1.ProcessingMode = ProcessingMode.Local;(可选)

//指定报表路径

ReportViewer1.LocalReport.ReportPath = MapPath(Report1.rdlc);

// ReportViewer1.LocalReport.DataSources.Clear();(可选)

DataSet ds= Getdata();

//设置数据源

ReportDataSource rds = new ReportDataSource(DataSet1_Shop ds.Tables[0]);

ReportViewer1.LocalReport.DataSources.Add(rds);

ReportViewer1.LocalReport.Refresh();

事实上,报表显示格式是固定的。那也就是说报表原来的数据源可以不作大的改动,理论上直接修改查询就可以了。

但是网上一直找不到这种解决方式,我经过多次测试,发现这样解决是比较简洁的(VS 2005团体开发版下测试,数据库平台为SQL Server 2005,操作系统为Windows XP sp3):

//修改数据源

SqlDataSource1.SelectCommand = SELECT KY_JC.JCID, KY_JC.CGLB, KY_JC.CGMC, KY_JC.CBSMC, KY_JC.CBH, KY_JC.CBRQ, KY_JC.JB, KY_JCZB.XM, KY_JCZB.BM, KY_JCZB.CDZS, KY_JCZB.FZ FROM KY_JC INNER JOIN KY_JCZB ON KY_JC.JCID = KY_JCZB.JCID where BM= + ‘+Session[bm]+‘;

//重新绑定

ReportViewer1.DataBind();

//刷新报表

ReportViewer1.LocalReport.Refresh();

这里需要注意的是,如果把清楚报表数据源的代码加上就会出错,因为没有添加新的数据源,所以不需要清除,直接重新绑定即可。

ASP.NET