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下获取div中的数据的原理分析
Apr 07 Javascript
JQuery优缺点分析说明
Apr 10 Javascript
js弹出div并显示遮罩层
Feb 12 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
Jan 28 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
9种改善AngularJS性能的方法
Nov 28 Javascript
Nuxt配合Node在实际生产中的应用详解
Aug 07 Javascript
angularjs请求数据的方法示例
Aug 06 Javascript
node省市区三级数据性能测评实例分析
Nov 06 Javascript
详解Vue的列表渲染
Nov 20 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
制作美丽的拉花
2021/03/03 冲泡冲煮
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
php删除指定目录的方法
2015/04/03 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
35个Python编程小技巧
2014/04/01 Python
深入理解Python 代码优化详解
2014/10/27 Python
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
中专自我鉴定
2014/02/05 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
毕业典礼主持词
2015/06/29 职场文书
高一地理教学工作总结
2015/08/12 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers