博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP.NET报表使用

Posted on 2011-04-21 23:30  孤独者  阅读(11000)  评论(2编辑  收藏  举报
  最近在项目中需要使用到报表的相关知识,在网上查了一些资料,结合自己实际的使用情况,进行总结一下。在ASP.NET中主要通过使用ReportView控件来实现报表的功能,报表的开发主要分为三个方面:数据源,报表设计,报表展示。
  数据源大体可以分为两种,一种是通过使用强类型的DataSet,通过数据源配置向导,可以很容易的实现。还有一种是使用业务对象,对于业务对象实际是一些支持IEnumerable的类,比如泛型集合。如果一个类定义了公共的方法,并且该方法的返回类型是实现了IEnumerable接口的类型,那么Visual Studio会自动识别这样的类,可以将类所在的命名空间作为数据源,类的公共方法返回的集合作为可用数据集。
  报表设计主要针对的文件就是.rdlc文件,在其设计界面我们可以拖拽各种各样的报表控件来展示报表。这里需要设置.rdlc文件的数据集,以及界面布局。
  报表展示主要是将报表展示在应用程序的页面上,这样用户可以对报表进行方便的查看和操作。报表的展示主要是通过在aspx页面上拖拽一个ReportViewer控件来实现的,对ReportViewer控件需要设置它要呈现的报表,另外还需要设置它的数据源。
  下面主要讲讲使用泛型集合来作为报表的数据源的实现方法。
  1.添加一个公共类,添加一个返回泛型集合的方法。
View Code
namespace ReportDemo
{
public class Person
{
public string UserName { get; set; }
public string Password { get; set; }
public int Age { get; set; }
}
public class Test
{
public static List<Person> GetPerson()
{
List
<Person> list = new List<Person>()
{
new Person{UserName="zhang san",Password="123",Age=10},
new Person{UserName="li si",Password="qwe",Age=20}
};
return list;
}
}
}
  2.添加一个报表文件。
  3.设置报表的数据集,点击报表数据选项卡,点击新建数据集,在弹出的窗口中,选择数据源和可用数据集。可以看到vs已经自动为我们绑定了我们添加的公共类。
  4.选择工具箱选项卡,可以看到很多的报表项,包括文本框,折线图,表,矩阵,矩形,子报表,图表等,拖放一个表到报表中。再切换到报表数据选项卡,将字段拖放到表格中,可以设置要显示的列。
  5.右键点击表头,选择文本框属性,在弹出的窗口中可以设置对齐,字体,填充,交互式排序等属性,设置表头的样式。
  6.设置好后,报表文件基本设置完成。接下来就要设置ReportViewer控件要呈现的报表,以及它的数据源。点击ReportViewer控件右边的小箭头,选择刚才创建的报表。
  7.设置报表的数据源,通过在后台代码中设置该ReportViewer控件的数据源。如果要在页面加载的时候显示报表数据,一定要添加if(!Page.IsPostBack)属性进行判断,不然会不停的重新加载。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ReportDataSource bb
= new ReportDataSource("DataSet1", Test.GetPerson());
ReportViewer2.LocalReport.DataSources.Clear();
ReportViewer2.LocalReport.DataSources.Add(bb);
}
}
  8.至此,报表的功能基本上就实现了,页面的运行效果如下。