前言

对于一些企业级的应用来说(非站点),页面上最为基本的内容也就是表格和form了。对于类似于ERP这类系统来说数据记录比較大,前端表格展示的时候必需得实现分页功能了。恰巧EasyUI就提供了分页组件Pagination

pagination覆盖默认$.fn.pagination.defaults.Pagination分页同意用户通过分页的方式来浏览数据,它支持可配置的选项,页面导航和页面长度的选择,并且用户能够加入�分页的右边定制button来增强分页功能。

只是pagination是依赖于linkbutton的,因此这里有必要了解下linkbutton。

linkbutton

使用$.fn.linkbutton.defaults重载默认值。

链接button用户创建超链接button。它是表示正常的<a>标记。能够显示图标和文字,或只不过图标或文字。button的宽度能够动态收缩/展开,以适应文本标签。依照惯例接下来看看其属性、事件、方法。

属性

名称 类型 描写叙述信息 默认值
id string 该组件的唯一标示ID null
disabled boolean 当设置为true时标示禁用该button false
toggle boolean 设置为true时,用户能够改变button的状态为选择或取消选择,自版本号1.3.3開始 false
selected boolean 表明该button的状态是否为选择,自1.3.3開始 false
group string 表明哪些button在同一个组中,開始于1.3.3 null
plain boolean 设置为true时会显示间接效果 false
text string button上的文字 null
iconCls string 在左边显示一个16*16大小图标的css类 ''
iconAlign string button上图标显示的位置,可选值为left、right、top、bottom開始于1.3.2 left
size string button的大小,可选值为small、large開始于1.3.6 small

事件

linkbutton提供了一个onclik事件,当按钮被点击时触发。開始于1.3.6

方法

名称 參数 描写叙述信息                                                         
options none 返回属性对象
disable none

禁用按钮

实例:

$('#btn').linkbutton('disable')

enable none 启用button,用法类似上面
select none 选择该button開始于1.3.6
unselect none 取消选择,開始于1.3.6

使用方式

linkbutton相同提供两种使用方式。

1、通过html标记创建

  1. <a id="btn" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">easyui</a>

2、通过js脚本创建

  1. <a id="btn" href="#">easyui</a>
  2. $('#btn').linkbutton({ iconCls: 'icon-search' });

以上两种方式都能够创建linkbutton。以下看简单的样例,对于主要的链接跳转这里就不多题了。

下面样例使用JQuery绑定单击处理函数给链接;

  1. <body>
  2. 	<a id="btn" href="www.baidu.com" class="easyui-linkbutton" data-options="iconCls:'icon-search'">easyui</a>
  3. 	<script>
  4. 		$(function () {
  5. 			$('#btn').bind('click', function () {
  6. 				alert('按钮被点击了');
  7. 			});
  8. 		});
  9. 	</script>
  10. </body>

好了,关于linkbutton大概也就这么多,我们能够简单的觉得其和普通的<a>标签没啥差别,仅仅是统一了easyui的样式。

Pagination

对于linkbutton有了一定的了解之后就能够着手学习pagination了,值域pagination为何会依赖于linkbutton,我想主要原因还是pagination提供分页右边按钮的定制化(那些个按钮就是linkbutton啦)。闲话不多说,相同从官网api開始走起。

使用$.fn.pagination.defaults重载默认值。

pagination同意用户导航数据页面。支持可配置选项页面当行和页面长度的选择。并且用户能够加入�自己定义button在正确的分页,增强功能。

依赖组件:linkbutton

属性

分页插件具有的属性还是比較的多的,详细有例如以下一些属性:

名称 类型 描写叙述信息                默认值
total number 总记录数,该属性在创建分页的时候是必须设置的 1
pageSize number 每页显示的记录数 10
pageNumber number 当分页创建完成时显示当前的页码     1
pageList array

用户可以灵活的改变每页显示的记录数。可选

项存在数组中示比例如以下:

  1. $.('#pager').pagination(
  2. {
  3. pageList:[10,20,30]
  4. });

 
loading boolean 定义数据是否正在加载(提醒) false
buttons array,selector

自己定义button,两个值。

1、一个array数组,每一个button包括两个属性

iconCls:显示背景图片的css类

handler:当button被点击时调用的一个句柄函数

2、selector指示该buttons

一个简单的样例:

1、使用html标记来创建:

<div class="easyui-pagination" style="border:1px solid #ccc" data-options="

  1. total: 114,
  2. buttons: [{
  3. iconCls:'icon-add',
  4. handler:function(){alert('add')}
  5. },'-',{
  6. iconCls:'icon-save',
  7. handler:function(){alert('save')}
  8. }]">
  9. </div>

2、使用js脚本创建:

  1. <div class="easyui-pagination" style="border:1px solid #ccc" id="pager">
  2. </div>
  3. <script>
  4. $('#pager').pagination({
  5. total: 11,
  6. buttons: [{
  7. iconCls: 'icon-add',
  8. handler: function () {
  9. alert('add')
  10. }
  11. }, '-', {
  12. iconCls: 'icon-save',
  13. handler: function () {
  14. alert('save')
  15. }
  16. }]
  17. });
  18. </script>

null
layout array

定义pagination的布局,開始于版本号    1.3.5

布局选项可能包括例如以下的值:

list:页面大小集合

sep:button指间的分隔符

first:第一个button

prev:前一个button

next:后一个button

last:最后一个button

refresh:刷新button

manual:手动页数的输入,同意进入的页码

links:页面数字的链接.

简单演示样例代码:

  1. <script>
  2. $('#pager').pagination({
  3. total: 11,
  4. buttons: [{
  5. iconCls: 'icon-add',
  6. handler: function () {
  7. alert('add')
  8. }
  9. }, '-', {
  10. iconCls: 'icon-save',
  11. handler: function () {
  12. alert('save')
  13. }
  14. }],
  15. layout:['list','sep',first','links','last']
  16. });
  17. </script>

 
links number 链接的数量,当links被定义在layout属性中的时候该设置才有效。開始于1.3.5 10
showPageList boolean 定义是否显示可选择的每页记录数。 true
showRefresh boolean 定义是否显示刷新button。 true
beforePageText string 在输入框之间显示的符号 Page
afterPageText string 在输入框之后显示的符号 of{pages}
dispalyMsg string 在插件右上方显分页信息 Displaying {from} to {to} of {total} items

是吧,pagination属性挺多、挺繁琐的呢。只是不必在意正是由于这样我们才干灵活的对事实上现定制化。须要说明的是最后3个属性通常是不会动的。local里面的语言js就已经定义好了。

事件

名称 属性 描写叙述信息
onSelectPage pageNumber,pageSize

当用户进行翻页的时候触发,回调函数包括2个參数:

pageNumber:下一页页码

pageSize:下一页显示记录数

演示样例:

  1. $('#pp').pagination({
  2. onSelectPage:function(pageNumber, pageSize){
  3. $(this).pagination('loading');
  4. alert('pageNumber:'+pageNumber+',pageSize:'+pageSize);
  5. $(this).pagination('loaded');
  6. }
  7. });
onBeforeRefresh pageNumber,pageSize 刷新之前触发,返回false将取消刷新。
onRefresh pageNumber,pageSize 刷新之后触发。
onChangePageSize pageSize 当用户改动每页记录数时触发。

方法

名称 參数 描写叙述信息
options none 返回分页属性对象                        
loading none 提醒分页插件正在下载
loaded none 提醒分页插件已经下载
refresh options

刷新并显示信息。1.3可用。

  1. $('#pp').pagination('refresh'); // 刷新页面右栏的信息
  2. $('#pp').pagination('refresh',{ // 改变选项并刷新页面右栏的信息
  3. total: 114,
  4. pageNumber: 6
  5. });

select page

选择一个新页面。页面索引从1開始。1.3可用。

  1. $('#pp').pagination('select'); // refresh the current page
  2. $('#pp').pagination('select', 2); // select the second page

使用方式

1、创建分页标记:

  1. <div id="pp" class="easyui-pagination" data-options="total:2000,pageSize:10" style="background:#efefef;border:1px solid #ccc;">
  2. </div>  

2、使用脚本创建:

  1. <div id="pp" style="background:#efefef;border:1px solid #ccc;"></div>
  2. <div id="pp" style="background:#efefef;border:1px solid #ccc;"></div>
  3. $('#pp').pagination({
  4. total:2000,
  5. pageSize:10
  6. });

Demo

官网提供的pagination演示样例是一些定制,这里我就不再多提了,读者能够依据上面表格中的一些熟悉、方法自己去灵活的定制。这里我认为比較有意思的demo还是api中的。

通过面板和pagination来使用ajax分页。当用户选择一个新页面,面板将显示指定页面的对应内容。代码例如以下:

  1. <div id="content" class="easyui-panel" style="height:200px" data-options="href:'show_content.php?page=1'">
  2. </div>
  3. <div class="easyui-pagination" style="border:1px solid #ccc;" data-options="
  4. total: 2000,
  5. pageSize: 10,
  6.  
  7. onSelectPage: function(pageNumber, pageSize){
  8. $('#content').panel('refresh', 'show_content.php?page='+pageNumber);依据选择的pageNumber刷新panel里面的页面内容
  9. }">
  10. </div>

好了,基于pagination的学习先就到这了,兴许用到的地方目測会很的多的呢。

独立网站:liangtao.sinaapp.com/?p=209

EasyUI基础入门之Pagination(分页)的更多相关文章

  1. EasyUI基础入门之Parser(解析器)

    前言 JQuery EasyUI提供的组件包含功能强大的DataGrid,TreeGrid.面板.下拉组合等.用户能够组合使用这些组件,也能够单独使用当中一个.(使用的形式是以插件的方式提供的) Ea ...

  2. EasyUI基础入门之Easyloader(载入器)

    在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...

  3. EasyUI基础入门之Resiable(可缩放)

    easyui的base插件学习已经进行到Resizable(可缩放)了.照旧看看easyui官网的API. Resiable 正如其字面意思一样(可伸缩),resiable主要是将一些html元素扩展 ...

  4. easyUI基础入门

    头部需要引人文件:<!DOCTYPE html><html><head> <meta charset="utf-8"> <ti ...

  5. EasyUI基础入门之Droppable(可投掷)

    怎么说呢Droppable这个单词究竟是什么意思,准确来说easyui作者究竟要表达什么意思,还是不大好拿捏的.只是没关系,没有必要纠结与这些细枝末节的东西,依据官网的demo效果,就简单的将之定义为 ...

  6. [转载]EasyUI Pagination 分页的两种做法

    EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...

  7. EasyUI Pagination 分页的两种做法

    EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...

  8. 第二百零九节,jQuery EasyUI,Pagination(分页)组件

    jQuery EasyUI,Pagination(分页)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Pagination(分页)组件的使 ...

  9. 手把手教你使用Vue/React/Angular三大框架开发Pagination分页组件

    DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎S ...

随机推荐

  1. DHTML 教程学习进度备忘

    书签:跳过:另外跳过的内容有待跟进 __________________ 学习资源:W3School. _________________ 跳过的内容: 1.这个学习进度和前面几个学习进度,只是学习了 ...

  2. C#轻量级企业事务 - TransactionScope

    using System; using System.Data.SqlClient; using System.Transactions; namespace SomeDBTransaction { ...

  3. SQL和NOSQL有区别吗?

    在大数据高速发展的今天,数据量在不断的增加,传统的数据库可能不能满足人们的需求了,这个时候新霸哥注意到了NOSQL出现了可以解决这个问题.我们知道sql数据库可以存储数据和处理数据,但是NOSQL最大 ...

  4. Windows Live Writer安装与使用

    无耻的转贴一份WLW的安转与使用指南 =========================转贴分隔线===========================   [Windows Live Writer安 ...

  5. 牛课--C/C++

    引用是除指针外另一个可以产生多态效果的手段. //引用是除指针外另一个可以产生多态效果的手段. #include<iostream> using namespace std; class ...

  6. 链表回文串判断&&链式A+B

    有段时间没有练习了,链表回文串判断用到了栈.链式A+B将没有的项用0补充.链表有没有头节点,及结点和链表的区别,即pNode和pHead. //#include<iostream> //u ...

  7. 性能测试-ApacheBench

    基本简介 ApacheBench 是一个指令列程式,专门用来执行网站服务器的运行效能,特别是针对Apache 网站服务器.这原本是用来检测 Apache 网站服务器能够提供的效能,特别是可以看出Apa ...

  8. [Android][Audio] audio_policy.conf文件分析

    不同的Android产品在音频的设计上通常是存在差异的,而这些差异可以同过Audio的配置文件audio_policy.conf来获得.在Android系统中音频配置文件存放路径有两处,存放地址可以从 ...

  9. SCAU 10678 神奇的异或

    10678 神奇的异或 时间限制:1000MS  内存限制:65535K 题型: 编程题   语言: 无限制 Description 在现在这个信息时代,数据是很重要的东西哦~ 很多时候,一条关键的数 ...

  10. 第三百三十九天 how can I 坚持

    脑子里老是无缘无故浮现出之前学的古文,之前只是傻学了,什么都没搞懂啊. 吾师道也,夫庸知其年之先后生于吾乎?是故无贵无贱,无长无少,道之所存,师之所存也. 是故弟子不必不如师,师不必贤于弟子,闻道有先 ...