easyui datagrid mysql分页_easyui datagrid加载数据和分页

本文展示了如何在EasyUI的DataGrid中实现客户端分页。通过使用`clientPaging`方法和自定义分页过滤器,实现了在加载数据时仅显示指定页面的数据,同时提供了数据的加载和分页功能。
摘要由CSDN通过智能技术生成

标签:

pageEncoding="UTF-8"%>

String basepath = request.getContextPath();

%>

Insert title here

href="/easyui/themes/default/easyui.css">

href="/easyui/themes/icon.css">

href="/easyui/demo.css">

Client Side Pagination in DataGrid

This sample shows how to implement client side pagination in

DataGrid.

style="width: 700px; height: 300px"

data-options="

rownumbers:true,

singleSelect:true,

autoRowHeight:false,

pagination:true,

pageSize:10">

iduserNameage

(function($) {

function pagerFilter(data) {

if ($.isArray(data)) { // is array

data = {

total : data.length,

rows : data

}

}

var dg = $(this);

var state = dg.data(‘datagrid‘);

var opts = dg.datagrid(‘options‘);

if (!state.allRows) {

state.allRows = (data.rows);

}

var start = (opts.pageNumber - 1) * parseInt(opts.pageSize);

var end = start + parseInt(opts.pageSize);

data.rows = $.extend(true, [], state.allRows.slice(start, end));

return data;

}

var loadDataMethod = $.fn.datagrid.methods.loadData;

$.extend($.fn.datagrid.methods,

{

clientPaging : function(jq) {

return jq.each(function() {

var dg = $(this);

var state = dg.data(‘datagrid‘);

var opts = state.options;

opts.loadFilter = pagerFilter;

var onBeforeLoad = opts.onBeforeLoad;

opts.onBeforeLoad = function(param) {

state.allRows = null;

return onBeforeLoad.call(this, param);

}

dg.datagrid(‘getPager‘).pagination({

onSelectPage : function(pageNum, pageSize) {

opts.pageNumber = pageNum;

opts.pageSize = pageSize;

$(this).pagination(‘refresh‘, {

pageNumber : pageNum,

pageSize : pageSize

});

dg.datagrid(‘loadData‘, state.allRows);

}

});

$(this).datagrid(‘loadData‘, state.data);

if (opts.url) {

$(this).datagrid(‘reload‘);

}

});

},

loadData : function(jq, data) {

jq.each(function() {

$(this).data(‘datagrid‘).allRows = null;

});

return loadDataMethod.call($.fn.datagrid.methods,

jq, data);

},

getAllRows : function(jq) {

return jq.data(‘datagrid‘).allRows;

}

})

})(jQuery);

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

});

} */

$.ajax({

method : ‘POST‘,

url : ‘/egoTest/user/getAjaxUser2.do‘,

async : false,

dataType : ‘json‘,

success : function(data) {

rows = data;

},

error : function() {

alert(‘error‘);

}

});

return rows;

}

$(function() {

$(‘#dg‘).datagrid({

data : getData()

}).datagrid(‘clientPaging‘);

});

a index jsp page ! ${list}

用户ID名称年龄操作

${u.id}${u.userName }${u.age } 修改

@RequestMapping("/getAjaxUser2")

public void getAjaxUser2(HttpServletRequest request,

HttpServletResponse response, ModelMap modelMap) {

try {

response.setContentType( "text/html;charset=UTF-8");

List uList = userService.getAllUser();

Map map = new HashMap();

// map.put( "total",total);

map.put("allRows", 57);

map.put("rows", uList);

JSONObject json = JSONObject.fromObject(map);

// String str = "aabbcc";

PrintWriter pw = response.getWriter();

pw.write(json.toString());

pw.flush();

pw.close();

} catch (Exception e) {

e.printStackTrace();

}

}

标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值