【转载】代码形式为reportviewer绑定数据源(1)
2015-09-18 17:43
260 查看
//设置为本地报表
// 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();
这里需要注意的是,如果把清楚报表数据源的代码加上就会出错,因为没有添加新的数据源,所以不需要清除,直接重新绑定即可。
//设置为本地报表
// 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();
这里需要注意的是,如果把清楚报表数据源的代码加上就会出错,因为没有添加新的数据源,所以不需要清除,直接重新绑定即可。
相关文章推荐
- delphi的public 与 published
- Helloworld 之 【QT 5.5.0 MSVC 2012 + OpenCV 2.4.9 】
- C#获取窗口,模拟按键操作
- 1.1 从C到C++,C语言与C++的关系
- Eclipse汉化
- 基于RTP协议的H.264传输
- 【笔记】PHP面向对象编程——基本实践(DAY 2)
- Yii框架查看原生态sql的实现方法和使用
- GO标准库概述
- Hexagon处理器的指令编码
- 解决IE浏览器兼容问题的一行代码
- java MD5加密
- Java反射机制示例
- 【笔记】PHP面向对象编程——面向对象的基本概念(DAY 1)
- JAVA深入研究——Method的Invoke方法(转)
- Spring AOP 通知
- 对java中classloader使用的一点理解(转)
- jdk和cglib简单理解(转)
- HDU 2401:Baskets of Gold Coins
- PHP安装扩展mcrypt以及相关依赖项 【PHP安装PECL扩展的方法】