时间:2021-05-26
效果
动态生成header
返回的header数据:格式为数组,因为是二级表头,所以是二元数组
后台动态拼接数组,返回数组后把两个数组push到一个空数组中就可以组成一个动态的多级表头
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) { //拼接成官网所需要的数组 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: '' //数据接口 , 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: '' //数据接口 , cellMinWidth: 80 , limit: 10//每页默认数 , limits: [10, 20, 30, 40, 50, 100] , page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档 layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip'] //自定义分页布局 , curr: 1 //设定初始在第 1 页 } ,where: { id:id, type:type } , cols: header });后台动态生成多级表头
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),"成功笔数","sumCost"+(i+1),"扣减金额","sumBars"+(i+1),"扣减条数")); } list.add(list1); list.add(list2); return new AjaxResult(0,"获取数据成功",list); }表格数据是通过统计得出的数据,统计的数据也是通过循环拼接sql,统计命名要和表头的一致
public class Messge { /** 列名1 **/ private String field1; /** 对应说明1(成功笔数) **/ private String title1; /** 列名2 **/ private String field2; /** 对应说明2(扣减金额) **/ private String title2; /** 列名3 **/ private String field3; /** 对应说明3(扣减条数)**/ private String title3;代码写的丑了点,还是整出来了。
以上这篇layui动态加载多表头的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1、多表头表格代码复制代码代码如下:多表头表格body{width:98%;height:100%;font-size:12px;background-colo
通常layui前端页面完全按照layui官网的例子写所有的页面初始化都没有问题,但是那只是静态页面.当加入后台去动态加载页面的时候有写样式在初始化加载样式的时候
问题描述1.最近用layui做后台界面,遇到layui跟ajax数据动态加载的checkbox,偶尔不能正常勾选,取消2.有分页时,最后一页数据过少会导致其他页
相关问题同:1、layUI使用jquery.load加载界面时,如何让layui渲染页面?2、layUIajax加载html页面后重新渲染layUIajax加载
今天,项目中要用到该表格,找了一遍,发现没有合适的,于是自己动手丰衣足食。最终呈现效果如上图,1、左侧是表头的表格数据展现,2、支持多行,多表头3、固定表头的功