Reports Starter Kit八个报表中难易度各不相同.所以我打算从简单的开始入手.先来讲这三个报表

八个报表全部采用三层架构来实现,里面有一个SqlHelper的辅助类(数据访问层).

每个报表都有两个类

一个是业务逻辑类,一个是数据集合类.

Reports Starter Kit详细介绍(一)

每张报表都分两种模式.一种是普通的.一种是打印版本,通过参数Print来判断

所以下面的这段代码是通用的

Reports Starter Kit详细介绍(一)private void Page_Load(object sender, System.EventArgs e)
        }


我个人认为下面三个表是比较简单的

1.表格式报表

2.简易报表

3.文本报表

下面详细来说明如何实现三种报表

一.表格式报表

表格式报表是通过各个类显示各类的不同商品.用到了其中两张表
(1)产品分类表
(2)产品详细信息
实现这样的效果.用到了DataList镶套DataGrid的方法

Reports Starter Kit详细介绍(一)<asp:datalist id="CategoriesList" runat="server" RepeatDirection="Vertical" repeatcolumns="1"
Reports Starter Kit详细介绍(一)                Width
="100%" CellPadding="5" cellspacing="15">
Reports Starter Kit详细介绍(一)                
<itemtemplate>
Reports Starter Kit详细介绍(一)                    
<table border="0" cellpadding="3" cellspacing="0" class="Content" width="100%">
Reports Starter Kit详细介绍(一)                        
<tr>
Reports Starter Kit详细介绍(一)                            
<td valign="top" class="CategoryHeader">
Reports Starter Kit详细介绍(一)                            
<!-- 类别 -->
Reports Starter Kit详细介绍(一)                                Category
>

2.排序

Reports Starter Kit详细介绍(一)private void SortGridData(TabularReportCollection list, string sortField, bool asc)
        }

 
TabularReportCollection类继承了ArrayList.它定义了一组枚举用于排序的选择.根据排序字段执行Sort方法.Sort方法支持升序和降序,当升序时,点击时为降序,降序时则相反

Reports Starter Kit详细介绍(一)//按不同排序字段执行不同排序方法
Reports Starter Kit详细介绍(一)
        public void Sort(TabularReportFields sortField, bool isAscending)
        }


3.价格计算和缺货提示

Extended Price 用以计算Units In StockUnit Price的积.当Units In Stock为0时,行显示红色.提示无库存,用改变CSS样式来实现

Reports Starter Kit详细介绍(一)

Reports Starter Kit详细介绍(一)protected void CalculateExtendedPrice(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        }


二.简易报表

简易报表是用一个DataGrid来实现的用来显示客户信息

实现方法跟上面的表格式报表里镶套的DataGrid差不多.实现了排序,交替颜色.只不过它多了分页功能,而其实这个功能却非常的简单

Reports Starter Kit详细介绍(一)private void CustomerGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        }

在打印模式中,还实现了这样一个功能:是否显示分页

Reports Starter Kit详细介绍(一)private void pagingButton_Click(object sender, System.EventArgs e)
        }


Reports Starter Kit详细介绍(一)


三.文本报表

Reports Starter Kit详细介绍(一)



文本报表使用了repeater控件,我想这个报表的实现方法是最简单的了.只要绑定数据就好了

Reports Starter Kit详细介绍(一)<asp:repeater id="EmployeesList" runat="server">
Reports Starter Kit详细介绍(一)                                
<headertemplate>
Reports Starter Kit详细介绍(一)                                    
<table border="0" cellpadding="3" cellspacing="0" width="100%">
Reports Starter Kit详细介绍(一)                                
</headertemplate>
Reports Starter Kit详细介绍(一)                                
<itemtemplate>
Reports Starter Kit详细介绍(一)                                    
<tr>
Reports Starter Kit详细介绍(一)                                        
<td colspan="4" valign="top" class="HeaderStyleText">
Reports Starter Kit详细介绍(一)                                            Employee:
>


Reports Starter Kit详细介绍(一)private void BindList()
        }


.repeater控件最大的好处就是可以自定义HTML格式.当然还包括一些模板.但我感觉还是DataList强大一点吧.

以上就是报表中几个简单的例子,相信大家这些都应该会的.如果有错误希望大家指出.

还有今天比较郁闷,一直在学asp.net,在实习公司看到的全部是WinForm的程序,郁闷死了

相关文章: