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 相关文章推荐
jQuery学习笔记之jQuery的动画
Dec 22 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
Jul 17 Javascript
深入解读JavaScript中的Iterator和for-of循环
Jul 28 Javascript
如何用JS判断两个数字的大小
Jul 21 Javascript
BootstrapValidator不触发校验的实现代码
Sep 28 Javascript
vue多级多选菜单组件开发
Sep 08 Javascript
node.js-v6新版安装具体步骤(分享)
Sep 06 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
Oct 24 Javascript
Vuex 使用及简单实例(计数器)
Aug 29 Javascript
详解离线安装npm包的几种方法
Nov 25 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 Javascript
Vue+TypeScript中处理computed方式
Apr 02 Vue.js
如何阻止小程序遮罩层下方图层滚动
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
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
vue.js实现的经典计算器/科学计算器功能示例
2018/07/11 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
js动态生成表格(节点操作)
2021/01/12 Javascript
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
python range实例用法分享
2020/02/06 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
python 发送get请求接口详解
2020/11/17 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
UNIX特点都有哪些
2016/04/05 面试题
男方父母证婚词
2014/01/12 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
python编程项目中线上问题排查与解决
2021/11/01 Python
springboot用户数据修改的详细实现
2022/04/06 Java/Android