日期:2011-05-28  浏览次数:20400 次

⑴ 提供“首页”、“上一页”、“下一页”、“末页”分页导航按钮。

⑵ 根据数据显示情况调整自身的状态,即具有数据敏感性。如果分页控件被设置成每页显示10个记录,但实际上只有9个记录,那么分页控件不应该显示出来;在数 据分成多页显示的情况下,第一个页面的“首页”、“上一页”按钮不应显示出来,最后一个页面的“下一页”、“末页”按钮也不应该显示出来。

⑶ 不能依赖于特定的数据显示控件。

⑷ 具有适应各种现有、将有数据源的能力。

⑸ 应当能够方便地配置显示方式,轻松地集成到各种应用之中。

⑹ 当分页就绪时,提醒其他控件。

⑺ 即使是缺乏经验的Web设计者,也要能够毫无困难地使用。

⑻ 提供有关分页信息的属性数据。

 


  当表现控件触发DataBinding事件,分页控件就可以获取DataSource属性。遗憾的是,微软没有提供所 有数据绑定类实现的接口,诸如IdataSourceProvider之类,而且并非所有从Control或WebControl类继承的控件都有一个 DataSource属性,因此向上定型成Control类没有意义,唯一可行的办法是通过Reflection API直接操作DataSoruce属性。在讨论事件句柄方法之前,应该指出的是,为了注册事件句柄,首先必须获得一个表现控件的引用。分页控件显露了一 个简单的字符串属性BindToControl:

public string BindToControl
{
get
{
if (_bindcontrol == null)
throw new NullReferenceException("在使用分页控件之前,请先通过设置BindToControl属性绑定到一个控件。");
return _bindcontrol;}
set{_bindcontrol=value;}
}