layui實(shí)現(xiàn)數(shù)據(jù)分頁功能
本文實(shí)例為大家分享了layui實(shí)現(xiàn)數(shù)據(jù)分頁功能,供大家參考,具體內(nèi)容如下
官網(wǎng)layui table演示頁面
示例截圖:

頁面引入layui.css、 layui.js
<div id="pTable" style="width: 1200px;"> <table class="layui-table" id="layui_table_id" lay-filter="test"> </table> <div id="laypage"></div> </div>
前臺js
var limitcount = 10;
var curnum = 1;
//列表查詢方法
function productsearch(productGroupId,start,limitsize) {
layui.use(['table','laypage','laydate'], function(){
var table = layui.table,
laydate=layui.laydate,
laypage = layui.laypage;
table.render({
elem: '#layui_table_id'
, url: '<%=path%>/xx/pListQuery.html?pId='+productGroupId+'¤tPage='+ start+'¤tNumber=' + limitsize
/*, where:{pagename:start,pagelimit:limitsize} //傳參*/
, cols: [[
{field: 'productId', title: 'ID', width: '170', sort: true}
, {field: 'productName', title: '名稱', width: '450'}
, {field: 'productState', title: '狀態(tài)', width: '100'}
, {field: 'effectTime', title: '生效時(shí)間', width: '120', sort: true}
, {field: 'invalidTime', title: '失效時(shí)間', width: '120', sort: true}
, {field: 'productCost', title: '成本', width: '100', sort: true}
, {field: 'poperation', title: '操作', width: '100',fixed: 'right', toolbar: '#barDemo'}
]]
, page: false
, height: 430
,done: function(res, curr, count){
//如果是異步請求數(shù)據(jù)方式,res即為你接口返回的信息。
//如果是直接賦值的方式,res即為:{data: [], count: 99} data為當(dāng)前頁數(shù)據(jù)、count為數(shù)據(jù)總長度
laypage.render({
elem:'laypage'
,count:count
,curr:curnum
,limit:limitcount
,layout: ['prev', 'page', 'next', 'skip','count','limit']
,jump:function (obj,first) {
if(!first){
curnum = obj.curr;
limitcount = obj.limit;
//console.log("curnum"+curnum);
//console.log("limitcount"+limitcount);
//layer.msg(curnum+"-"+limitcount);
productsearch(productGroupId,curnum,limitcount);
}
}
})
}
})
//監(jiān)聽工具條
table.on('tool(test)', function(obj){ //注:tool是工具條事件名,test是table原始容器的屬性 lay-filter="對應(yīng)的值"
var data = obj.data //獲得當(dāng)前行數(shù)據(jù)
,layEvent = obj.event; //獲得 lay-event 對應(yīng)的值
if(layEvent === 'detail'){
viewLableInfo(data.attrId);
layer.msg(data.attrId);
} else if(layEvent === 'del'){
layer.msg('刪除');
} else if(layEvent === 'edit'){
layer.msg('編輯操作');
}
});
//常規(guī)用法
laydate.render({
elem: '#createDate'
});
//常規(guī)用法
laydate.render({
elem: '#processingTime'
});
});
}
var pId = '${pGBean.pgId }';
productsearch(pId, curnum, limitcount);
業(yè)務(wù)邏輯層
@Override
public String queryList (HttpServletRequest request) {
String total = "";
String pId = request.getParameter("pId");
int currentNumber = Integer.parseInt(request.getParameter("currentNumber"));
String currentPage = request.getParameter("currentPage") == null ? "1" : request.getParameter("currentPage");
//分頁處理,顯示第一頁的30條數(shù)據(jù)(默認(rèn)值)
PageHelper.startPage(Integer.parseInt(currentPage), currentNumber);
List<PExl> list = exportDao.queryList (pId);
if(list.size() > 0){
total = list.get(0).getTotal();
}
Page page = PageHelper.localPage.get();
if(page!=null){
page.setCurrentPage(Integer.parseInt(currentPage));
}
PageHelper.endPage();
JSONObject jsonObject = new JSONObject();
jsonObject.put("code", 0);
jsonObject.put("msg", "");
jsonObject.put("count", total);
jsonObject.put("data", list);
//System.out.println("json:----" + jsonObject.toString());
return jsonObject.toString();
}
sql
其中sql在計(jì)算總數(shù)totle時(shí)可以這么寫
COUNT(*) OVER(PARTITION BY 1) AS TOTAL
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript實(shí)現(xiàn)獲取圖片文件真實(shí)格式的示例代碼
每種格式的圖片,都有自己特有的優(yōu)缺點(diǎn)以及數(shù)據(jù)結(jié)構(gòu),本篇博文的目的就是基于不同格式的圖像二進(jìn)制數(shù)據(jù),獲取到圖片的真實(shí)格式,感興趣的可以了解一下2023-02-02
ES5 模擬 ES6 的 Symbol 實(shí)現(xiàn)私有成員功能示例
這篇文章主要介紹了ES5 模擬 ES6 的 Symbol 實(shí)現(xiàn)私有成員功能,結(jié)合實(shí)例形式分析了ES5 模擬 ES6 的 Symbol 實(shí)現(xiàn)私有成員功能相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
JavaScript將base64圖片轉(zhuǎn)換成formData并通過AJAX提交的實(shí)現(xiàn)方法
本文通過三步驟給大家詳細(xì)介紹了JavaScript將base64圖片轉(zhuǎn)換成formData并通過AJAX提交的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧2016-10-10
JavaScript注冊監(jiān)聽事件和清除監(jiān)聽事件方式詳解
js中事件監(jiān)聽就是利用addEventListener來綁定一個(gè)事件,這個(gè)用法在jquery中非常常用并且簡單,但在原生js中比較復(fù)雜,下面這篇文章主要給大家介紹了關(guān)于JavaScript注冊監(jiān)聽事件和清除監(jiān)聽事件方式的相關(guān)資料,需要的朋友可以參考下2023-05-05
JavaScript?弱引用強(qiáng)引用底層示例詳解
這篇文章主要為大家介紹了JavaScript?弱引用強(qiáng)引用底層示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
JS實(shí)現(xiàn)簡單易用的手機(jī)端浮動(dòng)窗口顯示效果
這篇文章主要介紹了JS實(shí)現(xiàn)簡單易用的手機(jī)端浮動(dòng)窗口顯示效果,涉及javascript針對頁面元素的動(dòng)態(tài)操作相關(guān)技巧,適用于做廣告展示,需要的朋友可以參考下2016-09-09

