layui动态加载多表头的实例


Posted in Javascript onSeptember 05, 2019

效果

layui动态加载多表头的实例

layui动态加载多表头的实例

动态生成header

layui动态加载多表头的实例

返回的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动态加载多表头的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个js封装的不错的选项卡效果代码
Feb 15 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
Jan 25 Javascript
原生js实现shift/ctrl/alt按键的获取
Apr 08 Javascript
提高jQuery性能的十个诀窍
Nov 14 Javascript
js判断60秒以及倒计时示例代码
Jan 24 Javascript
JS实现随机乱撞彩色圆球特效的方法
May 05 Javascript
jQuery获取radio选中项的值实例
Jun 18 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
Jan 16 Javascript
Bootstrap fileinput组件封装及使用详解
Mar 10 Javascript
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
Vue.js进阶知识点总结
Apr 01 Javascript
Vue常用指令详解分析
Aug 19 Javascript
如何阻止小程序遮罩层下方图层滚动
Sep 05 #Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 #Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 #Javascript
JS中比Switch...Case更优雅的多条件判断写法
Sep 05 #Javascript
layer实现弹出层自动调节位置
Sep 05 #Javascript
vue使用i18n实现国际化的方法详解
Sep 05 #Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 #Javascript
You might like
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
PHP下一个非常全面获取图象信息的函数
2008/11/20 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
Python求解平方根的方法
2015/03/11 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python学生管理系统代码实现
2020/04/05 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
入党申请自荐书范文
2014/02/11 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
2014年导购员工作总结
2014/11/18 职场文书
安全员岗位职责范本
2015/04/11 职场文书
2016年教代会开幕词
2016/03/04 职场文书
python 爬取天气网卫星图片
2021/06/07 Python