八个报表全部采用三层架构来实现,里面有一个SqlHelper的辅助类(数据访问层).
每个报表都有两个类
一个是业务逻辑类,一个是数据集合类.
每张报表都分两种模式.一种是普通的.一种是打印版本,通过参数Print来判断
所以下面的这段代码是通用的
我个人认为下面三个表是比较简单的
1.表格式报表
2.简易报表
3.文本报表
下面详细来说明如何实现三种报表
一.表格式报表
表格式报表是通过各个类显示各类的不同商品.用到了其中两张表
(1)产品分类表
(2)产品详细信息
实现这样的效果.用到了DataList镶套DataGrid的方法
2.排序
TabularReportCollection类继承了ArrayList.它定义了一组枚举用于排序的选择.根据排序字段执行Sort方法.Sort方法支持升序和降序,当升序时,点击时为降序,降序时则相反
//按不同排序字段执行不同排序方法
public void Sort(TabularReportFields sortField, bool isAscending)
}
3.价格计算和缺货提示
Extended Price 用以计算Units In Stock和Unit Price的积.当Units In Stock为0时,行显示红色.提示无库存,用改变CSS样式来实现

protected void CalculateExtendedPrice(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
}
二.简易报表
简易报表是用一个DataGrid来实现的用来显示客户信息
实现方法跟上面的表格式报表里镶套的DataGrid差不多.实现了排序,交替颜色.只不过它多了分页功能,而其实这个功能却非常的简单
private void CustomerGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
}
在打印模式中,还实现了这样一个功能:是否显示分页
private void pagingButton_Click(object sender, System.EventArgs e)
}
3.价格计算和缺货提示
Extended Price 用以计算Units In Stock和Unit Price的积.当Units In Stock为0时,行显示红色.提示无库存,用改变CSS样式来实现
二.简易报表
简易报表是用一个DataGrid来实现的用来显示客户信息
实现方法跟上面的表格式报表里镶套的DataGrid差不多.实现了排序,交替颜色.只不过它多了分页功能,而其实这个功能却非常的简单
在打印模式中,还实现了这样一个功能:是否显示分页
三.文本报表
文本报表使用了repeater控件,我想这个报表的实现方法是最简单的了.只要绑定数据就好了
.repeater控件最大的好处就是可以自定义HTML格式.当然还包括一些模板.但我感觉还是DataList强大一点吧.
以上就是报表中几个简单的例子,相信大家这些都应该会的.如果有错误希望大家指出.
还有今天比较郁闷,一直在学asp.net,在实习公司看到的全部是WinForm的程序,郁闷死了