在VS2005平台中,虽然可以根据它提供的一系列向导生成rdlc报表文件,而且在把该报表文件绑定到ReportViewer控件时,也可以填充数据源并配置查询条件。但是我们大多时候希望动态地生成查询结果,然后将查询结果(一般是DataSet)交给ReportViewer显示。本文以windows应用程序为例实现了这个功能,Web应用程序道理类似。

1,  新建一个windows应用程序,命名为report

2,  将工具箱-数据下的ReportViewer控件拖入窗体Form1的设计器中。点击右上角的小三角图标展开ReportViewer任务 快捷菜单,选择 设计新报表,此时会打开报表Report1.rdlc设计界面。

3,  此时如果项目中已经有存在的数据源可以直接使用,report项目中没有已经做好的数据源,所以需要新建数据源。这里我们选择 添加新数据源,会出现数据源配置向导,选择从 数据库 获得数据,下一步选择或新建数据连接(这里以连接到ibm服务器上的NorthWind数据库为例),填写好连接信息,选择在连接字符串中包含连接信息中的敏感数据这个复选项,下一步出现所连接数据库中的所有数据对象,包括表、视图、存储过程、函数。在所有表中选中Customers这张表,给DataSet命名为CustomDS。点完成生成数据集CustomDS,保存结果。

4,  双击Report1.rdlc,打开报表设计界面,将此时的报表设计工具箱中的 报表项   拖入 报表设计界面。选择数据菜单下的显示数据源,可以在数据源下看到CustomDS中包含Customers及其所有字段,任意选其中的多个字段将其拖入Report1.rdlc设计界面的表的详细资料 用于报表显示。这里应该选希望用于生成报表的所有字段,例如我们选前四个字段。保存结果。

5,  回到Form1的设计界面,按第二步中的操作将刚才设计好的Report1.rdlc绑定到ReportViewer1上,为ReportViewer1选择报表后,打开 数据源 为报表的数据源(在我们的例子中是CustomDS_Customers,请记住这个名称,后面编程还要用到!)指定一个实例,为了简单起见,就用我们刚才建立的CustomDS中的Customers表作为数据源实例。此时全部保存结果,编译一下可以看到初步运行结果。

下面,就需要对呈现的报表资料进行定制,也就是用自定义的操作生成符合我们需要的DataSet,然后用此DataSet的数据对报表进行资料绑定和呈现。详细代码和注释如下:

 

 1在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System;
 2在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.Collections.Generic;
 3在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.ComponentModel;
 4在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.Data;
 5在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.Drawing;
 6在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.Text;
 7在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.Windows.Forms;
 8在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.Data.SqlClient;
 9在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using System.Configuration;
10在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据using Microsoft.Reporting.WinForms;
11在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据
12在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据namespace report
13

运行效果图:

在windows应用程序中用ReportViewer显示程序运行中生成的DataSet中的数据

相关文章:

  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-23
  • 2021-04-06
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2021-06-06
  • 2021-06-22
  • 2022-12-23
相关资源
相似解决方案