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 相关文章推荐
EasyUI 中 MenuButton 的使用方法
Jul 14 Javascript
javascript克隆对象深度介绍
Nov 20 Javascript
js正则表达式的使用详解
Jul 09 Javascript
js判断选择的时间是否大于今天的代码
Aug 20 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
微信小程序商城项目之淘宝分类入口(2)
Apr 17 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
JavaScript获取某一天所在的星期
Sep 05 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 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 socket通信(tcp/udp)实例分析
2016/02/14 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
Node.js学习入门
2017/01/03 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
JS原生数据双向绑定实现代码
2017/08/14 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
Python读写/追加excel文件Demo分享
2018/05/03 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
Pytorch之contiguous的用法
2019/12/31 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
python基于opencv 实现图像时钟
2021/01/04 Python
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
安全员岗位职责
2013/11/11 职场文书
住房公积金接收函
2014/01/09 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
MySQL查询日期时间
2022/05/15 MySQL
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers