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 相关文章推荐
建立良好体验度的Web注册系统ajax
Jul 09 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
Feb 17 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
Dec 15 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
Dec 03 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
Jun 19 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
基于JavaScript中字符串的match与replace方法(详解)
Dec 04 Javascript
JS温故而知新之变量提升和时间死区
Jan 27 Javascript
详解vue-cli@2.x项目迁移日志
Jun 06 Javascript
使用js和canvas实现时钟效果
Sep 08 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根据IP判断地区名信息的示例代码
2014/03/03 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
Java分治归并排序算法实例详解
2017/12/12 Python
python实现多人聊天室
2020/03/31 Python
pandas 将索引值相加的方法
2018/11/15 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
如何用Django处理gzip数据流
2021/01/29 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
小学岗位竞聘方案
2014/01/22 职场文书
工伤事故证明
2014/10/20 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书