转自:https://blog.csdn.net/metal1/article/details/17536185

EasyUI Datagrid 分页显示(客户端)

By ZYZ

在使用JQuery EasyUI 的Datagrid 控件时,其中的pagination(分页控件)非常有用,该分页控件允许用户导航页面的数据,它支持页面导航和页面长度选择的选项设置。

Pagination控件上的显示文字默认是英文的,在引用了中文翻译文件(easyui-lang-zh_CN.js)可以全部显示为中文。如下:

<scripttype="text/javascript" src="../../js/easyui-lang-zh_CN.js"></script>
首先初始化datagrid
如果要达到正常的分页效果,需要在初始化函数内对datagrid的分页方法进行设置。

$(function(){

$('# table').datagrid({loadFilter:pagerFilter});

});
设置datagrid获取数据的来源:
在这里分别以get和post方法来获取数据。

 functionSearchTrainee() {
//获取搜索条件
var companyCode =$('#hiddenCompanyCode').val();
var name = $('#txtName').val();
var planName =$('#textSearchPlan').val();
if (companyCode == "")companyCode = "000";
var rowsData = "[]";
//get方法:
varhandler = "Ajax/GetTraineeHandler.ashx?Name=" + name +"&PlanName=" + planName + "&CompanyCode=" +companyCode;
$('#tableTrainee').datagrid('options').url = encodeURI(handler);
$('#tableTrainee').datagrid('reload');
//post方法:
$.post('Ajax/GetTraineeHandler.ashx', {
Name: name,
PlanName: planName,
CompanyCode: companyCode
}, function (data) {
$('#tableTrainee').datagrid('loadData', JSON.parse(data));
});
}

Post方法中的JSON.parse 函数很重要,它将post得到的字符串转换成了object类,因为过滤函数中需要使用object类的参数。
设置页面过滤函数


 function pagerFilter(data)
{
var dg = ('#table').datagrid();;
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;
}

一般获取Data数据时会采用一次获取全部数据,这种方法的确很方便省事。一次获取数据数据保存在浏览器中,翻页和改变行数的动作会非常的快速。

但是如果获取的数据量非常庞大,比如一百万行数据时怎么办呢?一次全部获取的话会严重影响Datagrid的加载速度,也加重了数据库服务器的工作负担,如果遇到并发用户非常多的情况,那就更加慢了。

EasyUI Datagrid 分页显示(客户端)的更多相关文章

  1. EasyUI DataGrid分页数据绑定

    记录东西感觉很痛苦,总结东西很痛苦,麻烦,不过为了下次的方便和知识的牢固以后要坚持总结. EasyUI DataGrid分页数据绑定 在解决方案中新建两个文件FormMain.aspx(html也可以 ...

  2. EasyUI datagrid 分页Json字符串格式

    //EasyUI datagrid 分页Json字符串格式 //{"total":xx,"rows":[{...},{...}]} total:总数 rows: ...

  3. asp.net mvc easyui datagrid分页

    提到 asp.net mvc 中的分页,很多是在用aspnetpager,和easyui datagrid结合的分页却不多,本文介绍的是利用easyui 中默认的分页控件,实现asp.net mvc分 ...

  4. easyUI datagrid 分页参数page和rows

    Struts2获取easyUI datagrid 分页参数page和rows 用pageHelper分页时,只要是能够获取前台传来的两个参数page和rows基本就完成了很大一部分. 获取方法:定义两 ...

  5. easyui datagrid 分页略解

    easyui datagrid 本身自带了分页功能. 但是这个需要你自己控制. 在后台可以得到两个datagrid的参数,rows 和page.其中rows是每页要显示的个数,page是第几页.单纯的 ...

  6. jquery easyui datagrid 分页详解

    由于项目原因,用了jquery easyui 感觉界面不错,皮肤样式少点,可是官网最近打不开了,资料比较少,给的demo没有想要的效果,今天在用datagrid 做分页显示的时候,折腾了半天,网上的资 ...

  7. jquery easyui datagrid 分页 详解

    前些天用jquery easyui的table easyui-datagrid做分页显示的时候,折腾了很久,后来终于解决了.其实不难,最主要我不是很熟悉前端的东西. table easyui-data ...

  8. easyui datagrid分页

    datagrid分页设置 pagination="true" 貌似是不行的!  只是显示分页工具栏 没有达到分页效果 前端 $(function (){ var p = $('#d ...

  9. .Net Mvc EasyUI DataGrid 分页

    由于项目的需要,最近一直在学习 .net MVC 和EasyUI.上周写了一个<.Net Mvc 返回Json,动态生成EasyUI Tree>,今天再写一个EasyUI中另一个重要的组件 ...

随机推荐

  1. python面向对象编程设计与开发

    一.什么是面向对象的程序设计 1.何为数据结构? 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,如列表.字典. 2.何为编程? 编程是指程序员用特定的语法+数据结构+算法,组成的代码,告 ...

  2. jz2440开发板烧写裸板

    前提:手头没有openjtag,电脑上没有并口, 实现方法:jlink下载,nor上的uboot下载 关键点是用jlink下载uboot 1,使用jlink进行烧写,其中注意的是jlink只能烧写no ...

  3. 创建私有 Gems 源

    1.安装依赖 yum install gem -y gem install builder   2.安装.配置nginx的文件列表 添加/etc/nginx/default.d/mirrors.con ...

  4. Linux环境下使用VSCode编译makefile文件的注意事项

    Linux环境下使用VSCode编译makefile文件的注意事项 首先安装C/C++的两个依赖 在debug,launch会自动的生成下方的launch.json launch.json { // ...

  5. 百度音乐免费API接口

    音乐分类: 1.新歌榜,2.热歌榜,11.摇滚榜,12.爵士,16.流行21.欧美金曲榜,22.经典老歌榜,23.情歌对唱榜,24.影视金曲榜,25.网络歌曲榜 说明:百度music web版全接口h ...

  6. Thinkphp5.0 的Model模型

    Thinkphp5.0 的Model模型 新建user模型User.php: <?php namespace app\index\model; use think\Model; class Us ...

  7. OpenCV在Linux(Fedora)下搭建开发环境简述

    盼望了好久的Fedora21终于发行了.先来晒一张图: 默认桌面还是那么简洁: 好了,废话少说.来看看在Fedora下搭建opencv开发环境,因为我已经搭建好了(过程比较艰辛) 先注明参考文章,感谢 ...

  8. 【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经(转)

    应届生上泡了两年,一直都是下资料,下笔试题,面试题.一直都在感谢那些默默付出的人.写这个帖子花了我两 个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已.大家何必那么认真, ...

  9. 百度UEditor富文本上传图片

    项目中使用UEditor发现设置图片自定义保存路径会出现<请求后台配置项http错误,上传功能将不能正常使用!错误> /* 上传图片配置项 */ "imageActionName ...

  10. Ubuntu 16.04安装unrar解压RAR文件

    除了7zip:http://www.cnblogs.com/EasonJim/p/7124306.html之外,还可以安装unrar进行解压RAR文件. 安装 sudo apt-get install ...