`
Etwo
  • 浏览: 104077 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

AS3分页 详尽 封装

阅读更多

近段时间在做一个分页,嫌着在多个地方都用到了分页,就干脆封装好一个,现共享出来,以供大家批评指责

其使用方法见最后面

package code.util
{

	/**
	 * AS3分页
	 * @author Etwo
	 * @version 1.0
	 */
	public class Page
	{
		/*
		* 分页要素:
		* 1、首页				firstPage
		* 2、最后一页			lastPage
		* 3、页总数				pageTotalCount
		* 4、总共显示的数据记录	dataTotalCount
		* 5、每页显示的数据记录	dataPerCount
		* 6、当前页				curPage
		* 7、当前显示的数据记录 curData
		* 8、当前实际页数 		curRealPage
		* 9、保存页数的文本框	txtPage
		*/

		/**
		 * 1、首页				firstPage
		 * @default
		 */
		private var _firstPage:uint;

		/**
		 * 2、最后一页			lastPage
		 * @default
		 */
		private var _lastPage:uint;

		/**
		 * 3、页总数				pageTotalCount
		 * @default
		 */
		private var _pageTotalCount:uint;

		/**
		 * 4、总共显示的数据记录	dataTotalCount
		 * @default
		 */
		private var _dataTotalCount:uint;

		/**
		 * 5、每页显示的数据记录	dataPerCount
		 * @default
		 */
		private var _dataPerCount:uint;

		/**
		 * 6、当前页				curPage
		 * @default
		 */
		private var _curPage:uint;

		/**
		 * 7、当前显示的数据记录 curData
		 * @default
		 */
		private var _curData:uint;

		/**
		 * 8、当前实际页数 		curRealPage
		 * @default
		 */
		private var _curRealPage:uint;

		/**
		 * 9、保存页数的文本框
		 * @default
		 */
		private var _txtPage:String;


		/**
		 * 上一页
		 * @return
		 */
		public function get previous():uint
		{
			return (this.curPage > 1) ? this.curPage - 1 : 1;
		}

		/**
		 * 下一页
		 * @return
		 */
		public function get next():uint
		{
			return (this.curPage < uint(this.pageTotalCount)) ? this.curPage + 1 : uint(this.pageTotalCount);
		}

		/**
		 * 判断是否是首页
		 * @return
		 */
		public function isFirst():Boolean
		{
			return (this.curPage == 1) ? true : false;
		}

		/**
		 * 判断是否是最后一页
		 * @return
		 */
		public function isLast():Boolean
		{
			return (this.curPage == this.pageTotalCount) ? true : false;
		}

		/**
		 * 3、页总数				pageTotalCount
		 */
		public function get pageTotalCount():uint
		{
			this._pageTotalCount = uint(Math.ceil(Number(this.dataTotalCount) / Number(this.dataPerCount)));
			return _pageTotalCount;
		}

		/**
		 * 4、总共显示的数据记录	dataTotalCount
		 */
		public function get dataTotalCount():uint
		{
			return _dataTotalCount;
		}

		/**
		 * @private
		 */
		public function set dataTotalCount(value:uint):void
		{
			_dataTotalCount = value;
		}

		/**
		 * 5、每页显示的数据记录	pagePerCount
		 */
		public function get dataPerCount():uint
		{
			return _dataPerCount;
		}

		/**
		 * @private
		 */
		public function set dataPerCount(value:uint):void
		{
			this._dataPerCount = value;
		}

		/**
		 * 6、当前页				curPage
		 */
		public function get curPage():uint
		{
			if (_curPage <= 0)
			{
				_curPage = 1;
			}
			else if (_curPage >= this.pageTotalCount)
			{
				_curPage = this.pageTotalCount;
			}
			return _curPage;
		}

		/**
		 * @private
		 */
		public function set curPage(value:uint):void
		{
			_curPage = value;
		}

		/**
		 * 1、首页				firstPage
		 */
		public function get firstPage():uint
		{
			this._firstPage = 1;
			return _firstPage;
		}

		/**
		 * 2、最后一页			lastPage
		 */
		public function get lastPage():uint
		{
			this._lastPage = uint(this.pageTotalCount);
			return _lastPage;
		}

		/**
		 * 7、当前显示的数据记录 curData
		 * @default
		 */
		public function get curData():uint
		{
			if (isLast() == true)
			{
				if (dataTotalCount <= dataPerCount)
					this._curData = dataTotalCount;
				else
					this._curData = dataTotalCount - ((pageTotalCount - 1) * dataPerCount);
			}
			else
			{
				this._curData = dataPerCount;
			}
			return _curData;
		}

		/**
		 * 8、当前实际页数 		curRealPage
		 * @default
		 */
		public function get curRealPage():uint
		{
			return _curRealPage;
		}

		/**
		 * @private
		 */
		public function set curRealPage(value:uint):void
		{
			_curRealPage = value;
		}

		/**
		 * 9、保存页数的文本框
		 * @default
		 */
		public function get txtPage():String
		{
			_txtPage = curPage + _txtPage + pageTotalCount
			return _txtPage;
		}

		/**
		 * @private
		 */
		public function set txtPage(value:String):void
		{
			_txtPage = value;
		}
	}
}

 使用方法例子:

page.curPage = 1;//设置当前页
page.curRealPage = 1;//设置当前实际的页数,此项必须用到的时候方可使用
page.dataTotalCount = 30;//设置总共显示的数据记录
page.dataPerCount = 10;//每页显示的数据
addPageMenu(page.curData);//传入当前页的数据
page.txtPage = "/";//设置页码分隔符
display.text = page.txtPage;//显示页码
//上一页
private function previous(e:MouseEvent):void
{
    page.curPage = page.previous;
    addPageMenu(page.curData);
}
//下一页
private function next(e:MouseEvent):void
{
    page.curPage = page.next;
    addPageMenu(page.curData);
}

0
6
分享到:
评论

相关推荐

    swing表格分页控件封装

    java swing表格分页控件封装,有利于在开发中节约时间

    网站分页代码封装jar包

    本项目提供了一个针对SQL Server数据库的Java代码封装,帮助开发者快速实现分页功能,避免重复编写类似的代码。 首先,我们需要理解分页的基本原理。在SQL中,我们可以使用`LIMIT`(在MySQL中)或`OFFSET`和`FETCH ...

    js分页控件--js封装的分页控件

    自己写的一个js分页控件.已经封装,可以直接使用. 适合各种用途的分页控制. 如果界面不够美观,只需要修改css即可.

    java分页类封装

    跟我上面的java底层简易封装配套的。有需要的也可以学习下。

    php封装的page分页类.zip

    "php封装的page分页类" 是一个专门用于处理这种需求的类库,它简化了PHP分页的实现过程,通过封装核心逻辑,使开发者能够快速、高效地实现分页功能。 首先,我们要理解分页的基本原理。在数据库查询中,如果一次性...

    vue3企业级项目二次封装el-table、分页

    1、后台管理系统用到的表格、分页很多,所以不能每个页面都写一次,通过组件通讯方式封装 2、项目选型:vite + ts + vue3 3、全篇采用语法糖形式 4、通过带着读者手写简化版 封装技巧,了解 核心原理。全文极简备注...

    分页封装类

    分页封装类

    java分页方法封装直接调用即可

    此Demo使用java编写,可以封装成jar方便各种项目分页功能,只需传参即可。简单来说,本人就是吧分页的功能独立成一个项目,主要类是PageUtil.java 此类封装分页逻辑,页面自动生成分页区,数据显示条数可自动以,...

    分页代码(已封装)

    "分页代码(已封装)"的标题表明这是一个已经完成封装的分页功能,通常是为了方便开发者在项目中快速集成和使用。描述中的"分页封装"进一步确认了这个内容的核心是关于如何有效地实现和组织分页代码。 分页的基本原理...

    简单易懂js分页(已封装)

    3. 分页逻辑处理:当用户点击页码或上一页/下一页按钮时,更新当前页数,并根据当前页数重新获取并显示对应的数据。这通常涉及到AJAX请求,向服务器发送请求获取指定页的数据。 4. 数据绑定:将获取到的数据绑定到...

    Spring jdbctemplate + mysql 分页封装

    综上所述,Spring JdbcTemplate结合MySQL的分页查询封装涉及到的主要知识点有:Spring的JdbcTemplate用法、MySQL的分页查询(LIMIT和OFFSET)、结果集映射、分页结果对象的构建、以及代码封装与复用。通过这些技术,...

    gwt 分页控件封装

    在本例中,“自己封装的gwt分页控件”意味着创建了一个自定义的、易于使用的组件,它处理了分页逻辑,用户只需提供必要的参数即可实现分页功能。 **FlexTable** 是GWT中的一个布局组件,它可以动态调整大小并支持行...

    HibernateUtil 分页 增删改查 封装

    HibernateUtil 分页 增删改查 封装 HibernateUtil 分页 增删改查 封装 HibernateUtil 分页 增删改查 封装

    关于java分页的封装

    还有部分代码没有了,主要在Vo定义一个pager 在student类里继承了basic类

    JAVA开发WEB分页封装办法实现

    本文将深入探讨如何在Java中实现Web分页封装,以便在实际项目中灵活应用。 首先,我们需要了解分页的基本概念。分页是将大量数据分割成较小、可管理的部分,每次只加载一部分到前端显示。这有助于减少网络传输的...

    php实现数据分页封装

    4. **封装分页类** 将以上逻辑封装成一个类,可以方便地在项目中重复使用。创建一个名为`Page`的类,包含初始化、计算总页数、生成分页链接和获取当前页数据的方法。例如: ```php class Page { private $db; ...

    java封装好的分页代码

    java封装好的分页代码

    Hibernate分页封装

    3. 分页机制 在上面的示例代码中,我们可以看到,分页机制主要通过Criteria API来实现。具体来说,我们使用了setFirstResult()和setMaxResults()方法来实现分页。setFirstResult()方法用于设置查询的起始记录,而...

    封装的分页插件

    3. **AJAX请求**:在用户切换页码时,分页插件通常会使用AJAX向服务器发送请求,获取对应页码的数据,然后更新页面内容。 4. **参数传递**:在请求中,插件需要传递当前页码和每页显示的条数等参数,以便服务器返回...

    封装一个.net的分页控件

    本项目是针对这一需求,封装了一个服务器端的分页控件,旨在简化开发流程,减少不必要的序列化代码,并提供更灵活的分页展示方式。 首先,我们要理解分页的基本原理。在服务器端,分页通常涉及到从数据库中获取特定...

Global site tag (gtag.js) - Google Analytics