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 相关文章推荐
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Jul 21 Javascript
jQuery JSON实现无刷新三级联动实例探讨
May 28 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
May 05 Javascript
js原生跨域_用script标签的简单实现
Sep 24 Javascript
JS在浏览器中解析Base64编码图像
Feb 09 Javascript
JavaScript中数组Array.sort()排序方法详解
Mar 01 Javascript
Bootstrap布局之栅格系统学习笔记
May 04 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 jQuery
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
Sep 18 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
Jun 10 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
php学习之 认清变量的作用范围
2010/01/26 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
php的一个简单加密解密代码
2014/01/14 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
jQuery 解析xml文件
2009/08/09 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
js选择器全面解析
2016/06/27 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
js实现搜索栏效果
2018/11/16 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
Python删除windows垃圾文件的方法
2015/07/14 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
Python3 批量扫描端口的例子
2019/07/25 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
超市国庆节促销方案
2014/02/20 职场文书
电信营业员岗位职责
2015/04/14 职场文书
大学开学感言
2015/08/01 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
Python深度学习之Pytorch初步使用
2021/05/20 Python