上篇说到报表需要数据源、报表模板、数据存放数据的容器。这篇就详细的说说制作报表的过程。
数据源就是我们建立的数据库中的表,我们想要显示的哪张表中的内容。
报表模版是扩展名为rdlc的文件。
存放数据的容器就是扩展名为xsd的文件。
显示在From窗体上是ReportViewer控件。
对于建立这些文件的顺序,从哪种文件开始都可以,系统都会给出提示。
我们就以从新建报表模版开始。
1、在窗体层右击新建,reporting-报表,扩展名为rdlc的报表模板。
报表模版界面。
工具箱中会自动的出现可以添加的报表项。
在这里我们要显示的是数据库中表的字段的数据,所以把报表项中的表可以直接拖动过来,同时会给出如下的提示让我们添加数据容器dataset。
选择新建,数据库。
选择要想显示表的数据库。
选择要用到的哪几个表。
报表中要显示的字段。
单击数据区选择要显示的字段。
自行插入列。
更改自己要显示的字段。
选中文本,右击,设置文本样式。
右击空白报表,插入我们想要插入的。
这样报表模版就建立好啦。
接下来新建一个窗体,在工具箱中找到报表控件reportViewer,拖动到窗体中。选择刚刚我们建的报表模版,如果我们不需从窗体的某个控件传递数据的话,我们可以选择“在父容器中停靠”。
这样我们就建立完了我们要用到的文件,运行显示的是check表中我们要显示的字段。
让我们看看我们的数据容器。
当建立dataset时,系统会自动给我们添加一个tb_checkTableAdapter对数据操作的类。并且有两个方法,Fill() 和GetData()方法。右击配置,会看到系统自动生成的查询的Sql语句,并且可以通过查询分析器直接从数据库中查询出来。我们也可以根据用户显示的需求更改SQl语句和添加参数传递,来查找自己想要显示的内容。
窗体中自动生成的代码。
如果我们想要改变查询的内容或是添加新的查询。
如果我们把TableAdapter中sql语句改为 (查询后系统把数据放到DataTable中。)
SELECT UserID, RechargeMoney, ReturnMoney, IncomeMoney, CheckDate FROM tb_Check WHERE (CheckDate BETWEEN @DateTimeOne AND @DateLTimeTwo)
在加载时候自动加载的方法代码。
我们可以在窗体上添加我们要传递到数据库的控件参数值,在GetData方法中会自为方法添加两个参数。同时改变触发事件,可以是单击某个按钮来执行显示和刷新报表。
显示从界面传递的两个日期参数。
下一步是选择或是可以更改执行的方法名。
扩展。
最后说说报表模版,报表模版中我们可以添加一些报表数据。
在视图--报表数据。或是快捷键(ctrl+alt+D,如过与系统其他软件不重复的话)。
直接拖动报表数据的内置字段可以显示相应的内容,执行时间-显示执行的时间,页码为报表添加页码,报表名称,直接改名称等。
右击参数字段,添加参数,设置参数类型。添加图像等。
以上是一种方法,我们也可以先建数据容器DataSet,或是先添加reportViewer控件,都可以,系统都会给出相应的提示。
还可以自己通过代码建立DataSet,通过三层来调用数据后,再绑定到reportViewer上。
参考:
丹丹学姐vs2012英文版报表的使用:http://blog.csdn.net/zhaodandan19910306/article/details/6310802
报表参数的使用:http://database.ctocio.com.cn/tips/272/7771772.shtml
MSDN:http://database.ctocio.com.cn/tips/272/7771772.shtml