easyUI使用分页过滤器对数据进行分页操作实例分析


Posted in Javascript onJune 01, 2020

本文实例讲述了easyUI使用分页过滤器对数据进行分页操作。分享给大家供大家参考,具体如下:

在后台管理系统中,由于数据量的庞大,我们经常需要用到easyui框架的分页工具。在本文章中,使用了分页过滤器进行分页的方法,示例如下:

easyUI使用分页过滤器对数据进行分页操作实例分析

代码如下:

HTML

<table id="wu-datagrid-stuInfo" class="easyui-datagrid" toolbar="#wu-toolbar-stuInfo">
</table>

JS代码

/**
 * 获取所有学员信息
 */
function show() {
  $.ajax({
    url: httpurl + '/jsrAdminWeb/selectAll',//连接后台接口
    type: 'post',
    dataType: 'json',
    contentType: "application/json",
    async: false, //false 同步

    success: function (result) {
      var stuData = result.data;
      getData();//铺页面(列)
      $("#wu-datagrid-stuInfo").datagrid("loadData", stuData);//加载数据表格
    }
  });
}

/**
 * 前台铺值
 */
function getData() {
  $("#wu-datagrid-stuInfo").datagrid({
    loadFilter: pagerFilter,//调用分页过滤器方法
    checkOnSelect: true,//当用户点击行的时候该复选框就会被选中或取消选中
    autoRowHeight: false,//自定义设置行的高度,根据该行的内容
    rownumbers: true,//显示一个行号列
    singleSelect: false,//可以一次选择多行
    // multiSort: true,//允许多列排序
    fit: true,
    columns: [[{
      field: 'id', //每一列的名字
      width: '50',
      title: 'ID',
      checkbox: true
    }, {
      field: 'stuName',
      title: '姓名',
      width: '100',
      align: 'center'
    }, {
      field: 'stuSex',
      title: '性别',
      width: '100',
      align: 'center'
    }, {
      field: 'stuAge',
      title: '年龄',
      width: '100',
      align: 'center'
    }, {
      field: 'stuIntroduce',
      title: '介绍',
      width: '700',
      align: 'center'
    }, {
      field: 'createTime',
      title: '创建时间',
      width: '130',
      align: 'center'
    }
    ]],
    idField: 'id',
    loadMsg: 'Processing, please wait …',
    pagination: true//将分页设置为true
  });
}

分页过滤器方法(写在js代码中):

注意:从后台取到的数据是全部的学生信息,这段代码,复制到JS代码里面就可以实现。

/**
 * 分页过滤器
 * @param data 全部数据
 * @returns {*}
 */
function pagerFilter(data) {
  if (typeof data.length == 'number' && typeof data.splice == 'function') {// is array
    data = {
      total: data.length,
      rows: data
    }
  }
  var dg = $(this);
  var opts = dg.datagrid('options');
  var pager = dg.datagrid('getPager');
  pager.pagination({
    onSelectPage: function (pageNum, pageSize) {
      opts.pageNumber = pageNum;
      opts.pageSize = pageSize;
      pager.pagination('refresh', {pageNumber: pageNum, pageSize: pageSize});
      dg.datagrid('loadData', data);
    }
  });
  if (!data.originalRows) {
    data.originalRows = (data.rows);
  }
  var start = (opts.pageNumber - 1) * parseInt(opts.pageSize);
  var end = start + parseInt(opts.pageSize);
  data.rows = (data.originalRows.slice(start, end));
  return data;
}

以上就是easyui使用分页过滤器实现前台数据分页的方法。如有错误,还望指正,谢谢。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
关于__defineGetter__ 和__defineSetter__的说明
May 12 Javascript
Extjs学习笔记之二 初识Extjs之Form
Jan 07 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
Apr 20 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
Oct 15 Javascript
JavaScript代码生成PDF文件的方法
Feb 26 Javascript
基于javascript实现表格的简单操作
May 21 Javascript
jQuery如何跳转到另一个网页 就这么简单
Dec 28 Javascript
js实现鼠标左右移动,图片也跟着移动效果
Jan 25 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
AngularJS遍历获取数组元素的方法示例
Nov 11 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
bootstrap-table后端分页功能完整实例
Jun 01 #Javascript
jQuery实现倒计时功能完整示例
Jun 01 #jQuery
微信小程序订阅消息(java后端实现)开发
Jun 01 #Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
Jun 01 #Javascript
微信小程序开发(二):页面跳转并传参操作示例
Jun 01 #Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 #Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
Jun 01 #Javascript
You might like
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
php函数式编程简单示例
2019/08/08 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
JavaScript中Function详解
2015/02/27 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
JS实现图片拖拽交换效果
2018/11/30 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
Python中查看文件名和文件路径
2017/03/31 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
详解python polyscope库的安装和例程
2020/11/13 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
舞蹈专业求职信
2014/06/13 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
防暑降温通知书
2015/04/27 职场文书
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL
使用Apache Camel表达REST服务的方法
2022/06/10 Servers