layui動態(tài)加載多表頭的實(shí)例
效果
動態(tài)生成header
返回的header數(shù)據(jù):格式為數(shù)組,因?yàn)槭嵌壉眍^,所以是二元數(shù)組
后臺動態(tài)拼接數(shù)組,返回?cái)?shù)組后把兩個(gè)數(shù)組push到一個(gè)空數(shù)組中就可以組成一個(gè)動態(tài)的多級表頭
var header= []; var header1= [{field: 'merchantName', title: '商戶名稱', width: 140, rowspan: 2},{field: 'merchantSubName', title: '子商戶名稱', width: 140, rowspan: 2}]; var header2= []; $.ajax({ type: "get", url: "", data: {id: 1,type:type}, success: function (data) { if (data.code === 0){ $.each(data.data[0], function (index, obj) { header1.push({align: 'center', title: obj, colspan:3}); }); $.each(data.data[1], function (index, obj) { //拼接成官網(wǎng)所需要的數(shù)組 header2.push({field: obj.field1, title: obj.title1 }); header2.push({field: obj.field2, title: obj.title2 }); header2.push({field: obj.field3, title: obj.title3 }); }); header.push(header1); header.push(header2); table.reload('setList', { url: '' //數(shù)據(jù)接口 , cols: header }); header= []; header1= [{field: 'merchantName', title: '商戶名稱', width: 140, rowspan: 2},{field: 'merchantSubName', title: '子商戶名稱', width: 140, rowspan: 2}]; header2= []; } } }); table.render({ id: 'setList', elem: '#setList' , url: '' //數(shù)據(jù)接口 , cellMinWidth: 80 , limit: 10//每頁默認(rèn)數(shù) , limits: [10, 20, 30, 40, 50, 100] , page: { //支持傳入 laypage 組件的所有參數(shù)(某些參數(shù)除外,如:jump/elem) - 詳見文檔 layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip'] //自定義分頁布局 , curr: 1 //設(shè)定初始在第 1 頁 } ,where: { id:id, type:type } , cols: header });
后臺動態(tài)生成多級表頭
public AjaxResult header(@RequestParam Map<String, Object> map) { Long id = Long.valueOf((String )map.get("id")); String productName = map.get("productName")==null?"":(String)map.get("productName"); String type = map.get("type")==null?"":(String)map.get("type"); if("".equals(productName) ){ if(("0").equals(type)){ List<ProductInfo> list =statisticsFeign.getProduct(); productName = list.get(0).getProductName(); }else{ Long[] ids =settlementFeign.getMerch(id); String mid= org.apache.commons.lang.StringUtils.join(ids, ","); List<MerchantProductRate> list =statisticsFeign.getProductByMID(mid); productName = list.get(0).getProductName(); } } String[] str = productName.split(","); List list = new ArrayList(); List list1 = new ArrayList(); List list2 = new ArrayList(); for (int i = 0; i < str.length; i++) { list1.add(str[i]); list2.add(new Messge("sumTotal"+(i+1),"成功筆數(shù)","sumCost"+(i+1),"扣減金額","sumBars"+(i+1),"扣減條數(shù)")); } list.add(list1); list.add(list2); return new AjaxResult(0,"獲取數(shù)據(jù)成功",list); }
表格數(shù)據(jù)是通過統(tǒng)計(jì)得出的數(shù)據(jù),統(tǒng)計(jì)的數(shù)據(jù)也是通過循環(huán)拼接sql,統(tǒng)計(jì)命名要和表頭的一致
public class Messge { /** 列名1 **/ private String field1; /** 對應(yīng)說明1(成功筆數(shù)) **/ private String title1; /** 列名2 **/ private String field2; /** 對應(yīng)說明2(扣減金額) **/ private String title2; /** 列名3 **/ private String field3; /** 對應(yīng)說明3(扣減條數(shù))**/ private String title3;
代碼寫的丑了點(diǎn),還是整出來了。
以上這篇layui動態(tài)加載多表頭的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js+css3實(shí)現(xiàn)簡單時(shí)鐘特效
這篇文章主要為大家詳細(xì)介紹了js+css3實(shí)現(xiàn)簡單時(shí)鐘特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09JavaScript整除運(yùn)算函數(shù)ceil和floor的區(qū)別分析
這篇文章主要介紹了JavaScript整除運(yùn)算函數(shù)ceil和floor的區(qū)別分析,實(shí)例分析了ceil和floor函數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04解決layui 復(fù)選框等內(nèi)置控件不顯示的問題
今天小編就為大家分享一篇解決layui 復(fù)選框等內(nèi)置控件不顯示的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08javascript中打印當(dāng)前的時(shí)間實(shí)現(xiàn)思路及代碼
打印當(dāng)前的時(shí)間的方法有很多,在本文為大家詳細(xì)介紹下使用javascript是如何做到的,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下2013-12-12