今天一直在搞报表,我就想用reportviewer显示我的一个datatable里面的内容,而这个datatable的dataset来源于一个存储过程。现在还是不能成功。
reportviewer应该是report的浏览器吧。
通过网上资料,我怎么没看出他跟report有什么关系呢。我是这样做的,但是还是不能显示数据
1. 拖拽一个reportviewer控件rptviewer1,选好report:report1
2. 添加一个dataset1,并将此dataset1里面的datatable1的内容显示在report1上
3. 加几行代码绑定reportviewer和Dataset:Microsoft.Reporting.WinForms.ReportDataSource rds = new Microsoft.Reporting.WinForms.ReportDataSource();
rds.Name = "aaa";
rds.Value = ds1.DataTable1;//我肯定datatable1里面有数据
//reportViewer1.LocalReport.ReportPath = "Report1.rdlc";
reportViewer1.LocalReport.DataSources.Add(rds);
reportViewer1.RefreshReport();
reportViewer1.LocalReport.Refresh();可是总是只显示出report1的design,而显示不出dataset.DataTable1里的数据,请问该怎么做?
是不是report和dataset之间有什么我没关联上的?reportviewer,dataset,report之间是什么关系?
reportviewer应该是report的浏览器吧。
通过网上资料,我怎么没看出他跟report有什么关系呢。我是这样做的,但是还是不能显示数据
1. 拖拽一个reportviewer控件rptviewer1,选好report:report1
2. 添加一个dataset1,并将此dataset1里面的datatable1的内容显示在report1上
3. 加几行代码绑定reportviewer和Dataset:Microsoft.Reporting.WinForms.ReportDataSource rds = new Microsoft.Reporting.WinForms.ReportDataSource();
rds.Name = "aaa";
rds.Value = ds1.DataTable1;//我肯定datatable1里面有数据
//reportViewer1.LocalReport.ReportPath = "Report1.rdlc";
reportViewer1.LocalReport.DataSources.Add(rds);
reportViewer1.RefreshReport();
reportViewer1.LocalReport.Refresh();可是总是只显示出report1的design,而显示不出dataset.DataTable1里的数据,请问该怎么做?
是不是report和dataset之间有什么我没关联上的?reportviewer,dataset,report之间是什么关系?
解决方案 »
- 以&#开头的是什么编码,如何用C#转换成汉字
- C#新手问:c#实现图片缩放时遇瓶颈,求大神
- 高分请教:水晶报表如何像这样显示数据?
- 请问,处理WM_NCPAINT消息以重画标题栏后,在Vista系统中,标题栏是否仍然透明?谢谢!
- 未能对对象进行反序列化。无法解析类型...
- 问个VB转换C#问题
- C#DES加密解密,加密成功,解密异常求大神指教一下。多谢,找了一天答案没找到!
- 关于c# 使用java的私钥进行加密字符串
- 用C#写的windows应用程序,是不是运行的机子上必须有.net
- 怎样在菜单中加入图标?
- 请教一个问题
- 求助datetimepicker只能有年月日有什么控件或方法可以具体到时间
ReportViewer1.LocalReport.ReportPath =""; //设置报表所在路径
SqlConnection MyConn=db.createConnection();
MyConn.Open();
SqlDataAdapter MyAdapter = new SqlDataAdapter(sql, MyConn);
DataSet ds = new DataSet();
MyAdapter.Fill(ds, "test");
ReportDataSource rds = new ReportDataSource(ds_string, ds.Tables["test"]);//添加报表数据源,和数据表。数据源里的字段必须要在数据表里能找到对应的字段。
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);//添加数据源
ReportViewer1.LocalReport.Refresh();//刷新报表http://topic.csdn.net/u/20090425/18/8e632f55-0908-4ad5-ac3a-0d3cb9a288df.html
可是加了这句话后,reportviewer完全是disable的状态,不但任何数据没有,连表头也不见了. 列名就一个nvarchar的。 我现在最困惑的是:report的设计,为什么非得在VS中创建一个DataSet?然后用这个DataSet来接我执行sp的返回值呢?有什么办法能把您的代码里的ds直接关联到report中么?您的ds_string是不是随便取的一个名字而已?