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 相关文章推荐
javascript编程起步(第六课)
Jan 10 Javascript
jsonp原理及使用
Oct 28 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
Oct 28 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
jQuery事件绑定on()与弹窗实现代码
Apr 28 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 Javascript
JS日程管理插件FullCalendar中文说明文档
Feb 06 Javascript
Vue.js在数组中插入重复数据的实现代码
Nov 17 Javascript
详解Vue中CSS样式穿透问题
Sep 12 Javascript
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
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
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
在Django框架中编写Context处理器的方法
2015/07/20 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
python分布式计算dispy的使用详解
2019/12/22 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
浅析Python 条件控制语句
2020/07/15 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
2014年端午节活动方案
2014/03/11 职场文书
大学生评语大全
2014/04/18 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
退休教师追悼词
2015/06/23 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python