Flex分页控件
2018-09-06 12:28
提到分页大家应该都很熟悉了,几乎所有的应用中都会用到。因而完成一个分页组件在不同的应用中进行复用是必须的,刚写完了一个flex分页的组件,拿来分享一下。如果有什么建议、问题欢迎大家提出。希望可以为flex的开发者们提供一个可靠的分页组件。
package utils.page
{
import Flash.events.MouseEvent;
//分页组件类
//作者:孙镜涛
//日期:2010-01-12
//描述:本类主要负责对分页相关的按钮以及信息显示的标签进行管理;对数据显示内容进行控制
public class PageComponent
{
//首页按钮
PRivate var firstButton:Button;
//下一页按钮
private var nextButton:Button;
//前一页按钮
private var previousButton:Button;
//最后页按钮
private var lastButton:Button;
//当前页信息显示
private var curPageInfoLbl:Label;
//所有页信息显示
private var totalPageInfoLbl:Label;
//当前页改变时数据处理方法
private var handleDataFun:Function;
//分页数据的处理类
private var page:PageUtils;
//first,next,previous,last:第一页,下一页,上一页,最后页的button
//curPageInfoLbl,totalPageInfoLbl:当前页,所有页信息显示的label
//handleDataFun:分页的页码改变后数据的处理函数,该函数符合的签名为:(data:Array):void
//exeFun:查询数据的sql,该函数的签名为:(sql:String):Array
//pageNum:每页显示数据条数
public function PageComponent(first:Button,next:Button,previous:Button,last:Button,curPageInfoLbl:Label,
totalPageInfoLbl:Label,handleDataFun:Function,exeFun:Function,pageNum:int)
{
//分页按钮初始化
this.firstButton=first;
this.nextButton=next;
this.previousButton=previous;
this.lastButton=last;
//分页信息显示控件初始化
this.curPageInfoLbl=curPageInfoLbl;
this.totalPageInfoLbl=totalPageInfoLbl;
//页面改变后数据处理函数
this.handleDataFun=handleDataFun;
//分页数据类初始化
this.page=new PageUtils(exeFun,pageNum);
//为分页按钮增加相应的事件处理函数
this.firstButton.addEventListener(MouseEvent.CLICK,firstButtonClicked);
this.nextButton.addEventListener(MouseEvent.CLICK,nextButtonClicked);
this.previousButton.addEventListener(MouseEvent.CLICK,previousButtonClicked);
this.lastButton.addEventListener(MouseEvent.CLICK,lastButtonClicked);
}
//需要分页查询的的sql
public function initSql(sql:String):void
{
setButtonStatus();
setLabelInfo();
this.handleDataFun(page.getPageData());
}
//分页按钮被点击时的处理逻辑为:
//1.设置当前数据的页数
//2.设置分页控件按钮的状态
//3.设置分页控件信息显示label的内容
//4.查询该页数据并执行数据处理函数
//点击第一页时触发的事件
public function firstButtonClicked(event:MouseEvent):void
{
page.setCurrentPage(1);
setButtonStatus();
setLabelInfo();
this.handleDataFun(page.getPageData());
}
//点击下一页时触发的事件
public function nextButtonClicked(event:MouseEvent):void
{
if(page.getCurrentPage()<page.getPageCount())
&n
下一篇:ASP中CINT和INT的区别