EasyUi 分页 和 表格数据加载
这里说明的是将说有数据先返回到前端再由前端去分页,性能可能没有先在后台分好页再返回给前端高
但如果操作不涉及大数据的话也没什么大问题,具体问题具体分析
要使用分页控件首先要声明初始化一下:
//设置分页控件
var p = $("#tt").datagrid('getPager'); //tt为表格id
$(p).pagination({
// pageSize: 10,//每页显示的记录条数,默认为10
pageList: [5,10,15],//可以设置每页记录条数的列表
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
});
然后是前端的分页代码(网上的):
 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({
                 //pageSize: 10,//每页显示的记录条数,默认为10                  //这里不设置的画分页页数选择函数会正确调用,否则每次点击下一页
                 pageList: [5,10,15],//可以设置每页记录条数的列表              //pageSize都会变回设置的值
                 beforePageText: '第',//页数文本框前显示的汉字
                 afterPageText: '页    共 {pages} 页',
                 displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录',
                 onChangePageSize:function(){
                  },
                 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 doSearch(){
         userName = $("#itemid").val();
         roleName = $("#roleName").val();
         var urlRequest="/account/searchByUserName?userName="+userName+"&roleName=" + roleName;  //相对路径请求
         $.getJSON(urlRequest, null, function(json) {                        //get方法获取json数据,java代码之前写过一篇了
         /* $(function(){
         ccb={total:json.length,rows:[json[0]]};
         $("#tt").datagrid('loadData', ccb);
         alert('here');
         });  */
         ccb = {                                                 //Json数据继续封装
               "total": json.length,
               "rows": json
         };
         $(function(){
             $('#tt').datagrid({loadFilter:pagerFilter}).datagrid('loadData', ccb);
         });
         /*  $("#tt").datagrid('loadData', {                                 //加载数据类似上面的
         "total": json.length,
          "rows": json
          }); */
    });
         }
Html代码顺便粘一下:
<body>
<div class="demo-info" style="margin-bottom:10px">
<div class="demo-tip icon-tip"> </div>
<div>输入查询关键字,点击查询搜索</div>
</div> <table id="tt" class="easyui-datagrid" style="width:1130px;height:540px"
title="Searching" iconCls="icon-search" toolbar="#tb"
rownumbers="true" pagination="true">
<thead>
<tr>
<th field="userName" width="150">用户名</th>
<th field="roleName" width="150">角色名</th>
<th field="telphone" width=150" >电话</th>
<th field="email" width="150" >邮件</th>
<th field="sex" width="50">性别</th>
<th field="createtime" width="160" align="center">账户创建时间</th>
</tr>
</thead>
</table>
<div id="tb" style="padding:3px">
<span>用户名:</span>
<input id="itemid" style="line-height:26px;border:1px solid #ccc" onkeydown='if(event.keyCode==13){doSearch();}'>
<span>角色名:</span>
<select id="roleName" style="line-height:26px;border:1px solid #ccc" onchange="doSelect();">
<option value="all" >所有角色</option>
<option value="超级管理员">超级管理员</option>
<option value="管理员">管理员</option>
</select>
<a href="#" class="easyui-linkbutton" plain="true" onclick="doSearch()">查询</a>
</div>
</body>
EasyUi 分页 和 表格数据加载的更多相关文章
- jqgrid 分页时,清空原表格数据加载返回的新数据
		由于,我们是动态分页,分页后的数据是在触发分页后动态加载而来.如何使jqgrid清空原数据而加载新数据? 1)调用jqgrid的 clearGridData 方法清空表格数据 2)调用jqgrid的 ... 
- jquery easyui 显示和关闭数据加载的遮罩
		$('#yearReportTable').datagrid('loading');//打开等待div $('#yearReportTable').datagrid('loaded');//关闭等待d ... 
- [转载]再次谈谈easyui datagrid 的数据加载
		这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ... 
- 谈谈easyui datagrid 的数据加载(转)
		这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ... 
- 再次谈谈easyui datagrid 的数据加载
		from:http://www.easyui.info/archives/204.html 这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实ea ... 
- 谈谈easyui datagrid 的数据加载
		文章目录 1url方式加载数据 1.1调用方式 1.2相关方法 1.3二次加载问题 2加载本地数据方式 2.1调用方式 2.2如何分页 2.3加载中效果 2.4如何不统计总数 这篇文章只谈jQuery ... 
- jQuery easyui datagrid 的数据加载
		其实easyuidatagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据:另一种是加载js对象,也就是使用loadDate方法,这种方法用于加载本地js数据(非ur ... 
- Bootstrap Table表格一直加载(load)不了数据-解决办法
		bootstrap-table是一个基于Bootstrap风格的强大的表格插件神器,官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ 这里列出遇到的一 ... 
- hibernate框架学习第六天:QBC、分页查询、投影、数据加载策略、二级缓存
		QBC查询 1.简单查询 Criteria c = s.createCriteria(TeacherModel.class); 2.获取查询结果 多条:list 单挑:uniqueResult 3.分 ... 
随机推荐
- 精通JavaScript的this关键字
			小提示 阅读本文,您需要了解JS的基本常识.您将花费40分钟完成本文的阅读. JS中的this关键字让很多新老JS开发人员都感到困惑.这篇文章将对this关键字进行完整地阐述.读完本文以后,您的困惑将 ... 
- Jquery--防止冒泡
			e.stopPropagation();//阻止冒泡 
- ant copy file
			<project name="selftask" default="docopy" basedir="."> <descr ... 
- Python之什么是函数
			我们知道圆的面积计算公式为: S = πr² 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73.1 ... 
- Wordpress本地伪静态设置
			遇到的问题: 在主题的目录页,用wordpress默认链接方式是的,但是改了固定链接结构为:/%post_id%.html后,就访问不了了,开始以为是我主题的问题,然后切换为官方主题也是访问不了,而神 ... 
- Spring AOP 切面编程的方法
			spring aop的使用分为两种,一种是使用注解来实现,一种是使用配置文件来实现. 先来简单的介绍一下这两种方法的实现,接下来详细的介绍各处的知识点便于查阅.目录如下: 1.基于注解实现spring ... 
- ZeroClipboard 插件实现文本复制到剪贴板
			ZeroClipboard 的官网 点这里,github地址 点这里. 事例如下: 在引入 ZeroClipboard.js 之后, <button id="clip_button&q ... 
- 用oop分析场景,写出代码。房间里,有人、猫、老鼠在睡觉,然后猫醒了发出叫声,叫声惊醒了人,人从床上坐起来,惊醒了老鼠,老鼠开始逃跑。
			首先分析有哪些类: 应该有房子.动物类.人类.猫类.老鼠类. 房子不仅仅是一个容器,因为猫在房子里叫,惊醒了人和老鼠,所以猫叫是一个事件,通过这个事件触发人和老鼠的惊醒. 可以定义一个委托,利用委托绑 ... 
- MyEclipse启动慢的办法
			禁用myeclipse updating indexes MyEclipse 总是不停的在 Update index,研究发现Update index...是Maven在下载更新,但很是影响myecl ... 
- C语言回顾-常量和变量
			1.C语言共32个关键字 1)数据类型关键字 a.基本数据类型 void char int float double b.类型修饰关键字 short long signed unsigned c.复杂 ... 
