<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Client Side Pagination - jQuery EasyUI Demo</title>
 <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
 <link rel="stylesheet" type="text/css" href="../../themes/icon.css">
 <link rel="stylesheet" type="text/css" href="../demo.css">
 <script type="text/javascript" src="../../jquery-1.8.0.min.js"></script>
 <script type="text/javascript" src="../../jquery.easyui.min.js"></script>
</head>
<body>
 <h2>Client Side Pagination</h2>
 <div class="demo-info">
  <div class="demo-tip icon-tip"></div>
  <div>This sample shows how to implement client side pagination in DataGrid.</div>
 </div>
 <div style="margin:10px 0;"></div>
 
 <table id="dg" title="Client Side Pagination" style="width:700px;height:300px" data-options="
    rownumbers:true,
    singleSelect:true,
    autoRowHeight:false,
    pagination:true,
    pageSize:10">
  <thead>
   <tr>
    <th field="inv" width="80">Inv No</th>
    <th field="date" width="100">Date</th>
    <th field="name" width="80">Name</th>
    <th field="amount" width="80" align="right">Amount</th>
    <th field="price" width="80" align="right">Price</th>
    <th field="cost" width="100" align="right">Cost</th>
    <th field="note" width="110">Note</th>
   </tr>
  </thead>
 </table>
 <script>
  function getData(){
   var rows = [];
   for(var i=1; i<=800; i++){
    var amount = Math.floor(Math.random()*1000);
    var price = Math.floor(Math.random()*1000);
    rows.push({
     inv: 'Inv No '+i,
     date: $.fn.datebox.defaults.formatter(new Date()),
     name: 'Name '+i,
     amount: amount,
     price: price,
     cost: amount*price,
     note: 'Note '+i
    });
   }
   return rows;
  }
  
  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;
  }
  
  $(function(){
   $('#dg').datagrid({loadFilter:pagerFilter}).datagrid('loadData', getData());
  });
 </script>
</body>
</html>

DataGrid loadData loadFilter的更多相关文章

  1. datagrid中load,reload,loadData方法的区别

    它有其中有load,reload,loadData这三个方法,它们都有相同的功能,都是加载数据的,但又有区别. load方法,比如我已经定义一个datagrid的id为grid,那这个方法的使用方式为 ...

  2. EasyUI DataGrid 基于 Ajax 自定义取值(loadData)

    为 datagrid 加载数据分两种情况: 一种是基于 Ajax 请求获取数据然后通过"loadData"方法来赋值: 另一种是直接使用 datagrid 自带的"loa ...

  3. EasyUI中, datagrid用loadData方法绑定数据。

    $("#dg").datagrid("loadData", { , " }, { "ck": "1", &qu ...

  4. easyUI数据表格datagrid之分页

    一.分页函数 /**========================================= * 分页函数 */function pagerFilter(data) { if(typeof ...

  5. (转)扩展jquery easyui datagrid 之动态绑定列和数据

    本文转载自:http://blog.csdn.net/littlewolf766/article/details/7336550 easyui datagrid 不支持动态加载列,上次使用的方法是自己 ...

  6. asp.net EasyUI DataGrid 实现增删改查

    转自:http://www.cnblogs.com/create/p/3410314.html 前台代码: <!DOCTYPE html> <html xmlns="htt ...

  7. easyui datagrid 前台分页

    核心方法 //分页data function pagerFilter(data, pagegrid) { if (typeof data.length == 'number' && t ...

  8. easyui datagrid 后台返回所有数据,前台分页

    function pagerFilter(data) { if (typeof data.length == 'number' && typeof data.splice == 'fu ...

  9. EasyUI表格DataGrid前端分页和后端分页的总结

    Demo简介 Demo使用Java.Servlet为后台代码(数据库已添加数据),前端使用EasyUI框架,后台直接返回JSON数据给页面 1.配置Web.xml文件 <?xml version ...

随机推荐

  1. Oracle HRMS API – Create Employee

    -- Create Employee -- ------------------------- DECLARE   lc_employee_number            PER_ALL_PEOP ...

  2. Hibernate配置文件和映射元素解释

    象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素. AD:干货来了,不要等!WOT20 ...

  3. UVa 12100 (模拟) Printer Queue

    用一个队列模拟,还有一个数组cnt记录9个优先级的任务的数量,每次找到当前最大优先级的任务然后出队,并及时更新cnt数组. #include <iostream> #include < ...

  4. 51nod1294 修改数组

    看题解的...就是将必须要修改的数去掉后求最长的不递减子序列. upper_bound+lower_bound要理解.有时候-1有时候不用是有原因的. #include<cstdio> # ...

  5. css新增UI样式

    1.圆角 border-radius <style> .box{width:200px;height:300px;border:1px solid #000;border-radius:1 ...

  6. 封装sharedPreferences SettingsSPData

    /*************************************************************************** * 封装sharedPreferences S ...

  7. UESTC 1854

    题目意思  就是说 有一个起点一个终点  和一些虫洞,从一个虫洞进去然后出来,是不需要消耗时间的,注意点就是,虫洞是一条线段,你可以从线段的任意位置进去,从任意位置出来: 所以从一个虫洞到另一个虫洞的 ...

  8. 【转】Eclipse编辑shell的插件(shellEd)

    原文网址:http://blog.sina.com.cn/s/blog_a42d507e01019mlp.html Eclipse官方网站:http://download.eclipse.org/ 1 ...

  9. centos6.5 安装fctix 五笔输入法

    摸索了大半晚上,终于搞定,网上的东西看了N多篇不是这问题就是那问题,看来不同的OS下,小白我还是太嫩了些. 1,删除输入法,这一步是清除输入法,操作完成后,桌面/系统/首先项/输入法的IM Choos ...

  10. 一个强大的LogParser的UI工具--logparserlizard简介

    日志分析,特别是IIS日志,一般人都会想到LogParser工具,的确很强.但是命令行的操作界面令很多非专业的管理人员望而生畏,现在好了,有一个可视化的LogParser的UI工具可以使用了! Log ...