首先看一下最终效果(显示数据进行了加密,所以成了乱码)
图1.窗体的效果
图2.点击预览时的效果
1.创建显示报表的窗体
新建窗体命名为ReportForm并修改窗体名为学生成绩
在窗体上只需要拖放一个ReportViewer 控件
2.新建数据集为DSofStudent.xsd
在数据集中插入要显示在报表中的表结构(本例为此,注意: 字段名必须和要传向报表的数据表DataTable吻合)
3.插入报表并命名为StudentReport
新建完成后在报表页面右击插入表,在此选中刚创建的数据集中的表,如下图
然后设置表头\表头的背景色\绑定显示字段,如下图
这里说一下如何设置每行显示的颜色
此处选择设置背景为表达式: =iif(Fields!Grade.Value = 0,"Red", "GreenYellow") 意思是如果Grade为0则显示红色,否则为黄绿色。
4. 传入数据
在窗体中的ReportViewer控件中选择报表源,如下
接下来在初始化该窗体时,传入要显示的表的内容
DataSet ds = new DataSet();
ds = stu.GetStudentList2(sschoolname, sclassname)(传入自己要显示的数据集即可);
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("StuGrade", ds.Tables[0]));
this.reportViewer1.RefreshReport();
综上,VS2010的报表自定义数据源的创建和使用写完了。
如有不完善的地方,请各位提提建议,本人进行完善。
原文地址:http://blog.csdn.net/chr23899/article/details/41983179