转自: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. 10-看图理解数据结构与算法系列(B+树)

    B+树 B+树是B树的一种变体,也属于平衡多路查找树,大体结构与B树相同,包含根节点.内部节点和叶子节点.多用于数据库和操作系统的文件系统中,由于B+树内部节点不保存数据,所以能在内存中存放更多索引, ...

  2. hive 删除表内容

    TRUNCATE:truncate用于删除所有的行,这个行为在hive元存储删除数据是不可逆的delect:用于删除特定行条件,你可以从给定表中删除所有的行insert overwrite table ...

  3. Fiddler基本用法:手机抓包

    from:https://blog.csdn.net/gld824125233/article/details/52588275 电脑最好是笔记本,这样能和手机保持统一局域网内:其他不多说,直接说步骤 ...

  4. Archive log restore using RMAN for Logminer (http://www.dba-village.com/village/dvp_forum.OpenThread?ThreadIdA=26816)

    Subject: Archive log restore using RMAN for Logminer Author: Edwin Weele van der, Netherlands Date: ...

  5. Chrome new features

    Chrome new features copy fetch url fetch("http://10.1.5.202/deploy/http/send/svnuser", { & ...

  6. 在 Windows 10 64 下安装 Memcached,安装 PHP 7.0.22 的 Memcache 扩展

    1.之前写过一篇在 PHP 5.6.27 下的博客:http://www.shuijingwanwq.com/2017/09/11/1892/ ,此次是 PHP 7.0.22 下的,如图1 图1 2. ...

  7. POJ 2785_4 Values whose Sum is 0

    题意: A,B,C,D四组数中各取一个数,使这四个数相加为0,问有多少组取法? 分析: 四个数列有n4种取法,规模较大,但是可以将他们分成AB,CD两组,分别枚举,最后再合并. 代码: #includ ...

  8. [bzoj1874][BeiJing2009 WinterCamp]取石子游戏_博弈论

    取石子游戏 bzoj-1874 BeiJing2009 WinterCamp 题目大意:题目链接. 注释:略. 想法: 我们通过$SG$函数的定义来更新$SG$的转移. 如果是寻求第一步的话我们只需要 ...

  9. mac idea快捷键(部分常用)

    shift+F6重命名 shift+enter 换到下一行 shift+F8等同eclipse的f8跳到下一个断点,也等同eclipse的F7跳出函数 F8等同eclipse的f6跳到下一步F7等同e ...

  10. 未能找出类型或命名空间名称“T” 问题的解决方案

    在已经引用“using System.Collections.Generic;”时,还是提示急未能找出类型或命名空间名称“T”的问题.