EasyUi datagrid 实现表格分页


Posted in Javascript onFebruary 10, 2015

1.首先引入 easyui的 css 和 js 文件

2.前台 需要写的js

//源数据

function Async(action,args,callback){

  $.ajax({
 url: action ,

 
type:"POST",

 
dataType:"json",

 
timeout: 10000,

 
data: args,

 
success: function(data){

 
  if(callback){

 
 callback(data);

  
}

}

});

}

//绑定数据 并设置分页

function BingData(pid,args,action,callback){

Async(action,args,function(data){

if(data!=null&&data.list!=null){

var _dataCount=data.size;//总条数

var _data=data.list;//数据

if(callback){

callback(_data);

}

$(pid).datagrid('loadData', _data);

$(pid).datagrid('getPager').pagination({

beforePageText: '第',

afterPageText: '页 共 {pages} 页',

displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',

pageSize: args.pageSize,

total: _dataCount,

pageNumber: args.pageIndex,

pageList:args.pageList,

onSelectPage: function (pageNumber, pageSize) {

args.pageIndex = pageNumber;

args.pageSize = pageSize;

BingData(pid, args, action,null);

},

onRefresh: function (pageNumber, pageSize) {

args.pageIndex = pageNumber;

args.pageSize = pageSize;

BingData(pid, args, action,null);

}

});

}

});

}

//表单序列化为对象

$.fn.serializeObject = function(){

var obj = {};

$.each( this.serializeArray(), function(i,o){

var n = o.name, v = o.value;

obj[n] = obj[n] === undefined ? v

: $.isArray( obj[n] ) ? obj[n].concat( v )

: [ obj[n], v ];

});

return JSON.stringify(obj);

};

//宽度

function fixWidth(percent){

return document.body.clientWidth * percent ;

}

//结束编辑

function endEdit(vid){

vid = "#"+vid;

var tb=$(vid);

var rows = tb.datagrid('getRows');

for ( var i = 0; i < rows.length; i++) {

tb.datagrid('endEdit', i);

 }

}

function GetData(obj){

var url = contextPath+'/fundRetreatVoucher/fundBatchRetreatVoucherQuery.htm';//action路径

var args={};

args.pageIndex=1;//页索引

args.pageSize=10;//页容量

if(obj!=null){  //表单序列化的对象

  args.obj=obj;    

}

BingData("#tab",args,url,null);

}

function getTab(){

GetData();

var tb=$('#tab');

tb.datagrid({

title : '资金退回批次查询结果',

striped : true,

fitColumns: true, //自适应列的大小

rownumbers: true,

nowrap : true,//设置为true,当数据长度超出列宽时将会自动截取

striped : true,

width:fixWidth(0.99),

height:'430',

singleSelect:true,

loadMsg : '数据装载中......',

columns:[[ 

  
 {field:'interfaceInfoCode',title:'资金通道编码',width:fixWidth(0.3),align: "center"}, 

         {field:'retreatBatchCode',title:'资金退回批次号',width:fixWidth(0.2),editor:'text' ,align: "center"}, 

         {field:'total',title:'总笔数',width:fixWidth(0.1),align:'right',editor:'text' ,align: "center"},         

  {field:'totalMoney',title:'总金额',width:fixWidth(0.1),align:'right',editor:'text' ,align: "center"},

          {field:'def2',title:'操作',width:fixWidth(0.3),editor:'text',align:'right' ,align: "center",


formatter:function(value,row,index){


var vcode =row.retreatBatchCode;


var e = '<a href="#" onclick="toDetail('+index+')">详情</a> | ';


var d = '<a href="#" onclick="auditBatch('+index+',0)">审核通过</a> | ';


var f = '<a href="#" onclick="auditBatch('+index+',1)">审核拒绝</a> ';


return e+d+f;


}}

 ]],

onLoadSuccess:function(data){

if (data.total == 0) {

}

},

pagination: true,

pageIndex:1,//页索引

pageSize:10,//页容量

pageList: [10,15,20]

})

}

2 后台

int currentPage = request.getParameter("pageIndex") == null ? 1 : Integer.parseInt(request.getParameter("pageIndex"));

// 每页行数

int showCount = request.getParameter("pageSize") == null ? 10 : Integer.parseInt(request.getParameter("pageSize"));

// 分页实体

String obj = request.getParameter("obj");

if (StringUtils.notBlank(obj)) {

   fundRetreatVoucher = JsonUtils.toObject(obj, FundRetreatVoucherParam.class); //表单序列化json对象转为实体

}

out = response.getWriter();

List<FundRetreatVoucher> frvs = fundRetreatVoucherService.findAllFundRetreatVoucher(page, fundRetreatVoucher);

int total = fundRetreatVoucherService.findAllFundRetreatVoucher(getTotal(), fundRetreatVoucher).size();//数据大小

JSONObject json = new JSONObject();

json.put("list", frvs);//数据,这里的put的key ,一定要为list,如果改了 需要把 BingData中的 数据改一下

json.put("size", total);

out.print(json);
Javascript 相关文章推荐
用jQuery技术实现Tab页界面之二
Sep 21 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
Jun 10 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
我的javascript 函数链之演变
Apr 07 Javascript
Js sort排序使用方法
Oct 17 Javascript
关于全局变量和局部变量的那些事
Jan 11 Javascript
js实现省市联动效果的简单实例
Feb 10 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
jQuery实现的文字hover颜色渐变效果实例
Feb 20 Javascript
javascript检测移动设备横竖屏
May 21 Javascript
Bootstrap Table使用整理(三)
Jun 09 Javascript
7个好用的JavaScript技巧分享(译)
May 07 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
Feb 10 #Javascript
Node.js抓取中文网页乱码问题和解决方法
Feb 10 #Javascript
JS数组的常见用法实例
Feb 10 #Javascript
bootstrap table 服务器端分页例子分享
Feb 10 #Javascript
js实现对table动态添加、删除和更新的方法
Feb 10 #Javascript
js+css实现导航效果实例
Feb 10 #Javascript
jquery.mobile 共同布局遇到的问题小结
Feb 10 #Javascript
You might like
PHP:风雨欲来 路在何方?
2006/10/09 PHP
Yii框架登录流程分析
2014/12/03 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
修复ie8&amp;chrome下window的resize事件多次执行
2011/10/20 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
《与孩子一起学编程》python自测题
2018/05/27 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
怎么快速自学python
2020/06/22 Python
Python with语句用法原理详解
2020/07/03 Python
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
what is the difference between ext2 and ext3
2013/11/03 面试题
普通大学毕业生自荐信范文
2014/02/23 职场文书
食品安全标语
2014/06/07 职场文书
集体生日活动方案
2014/08/18 职场文书
广告业务员岗位职责
2015/02/13 职场文书
大学生简历自我评价2015
2015/03/03 职场文书
初中军训感想
2015/08/07 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python