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 相关文章推荐
让IE8支持DOM 2(不用框架!)
Dec 31 Javascript
JavaScript DOM学习第八章 表单错误提示
Feb 19 Javascript
JavaScript 产生不重复的随机数三种实现思路
Dec 13 Javascript
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
Jun 29 Javascript
九种原生js动画效果
Nov 11 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
Jun 01 Javascript
vue调用高德地图实例代码
Apr 28 Javascript
简单谈谈关于 npm 5.0 的新坑
Jun 08 Javascript
关于Vue项目跨平台运行问题的解决方法
Sep 18 Javascript
vuex页面刷新导致数据丢失的解决方案
Dec 10 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 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
js获取域名的方法
2015/01/27 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
解析python的局部变量和全局变量
2019/08/15 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
python轮询机制控制led实例
2020/05/03 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
数据库方面面试题
2012/04/22 面试题
区域销售主管岗位职责
2014/06/15 职场文书
大学英语专业求职信
2014/06/21 职场文书
光荣之路观后感
2015/06/12 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python