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+jqmodal弹出窗口实现代码分明
Jun 14 Javascript
javascript 得到文件后缀名的思路及实现
May 09 Javascript
原生js和jQuery随意改变div属性style的名称和值
Oct 22 Javascript
JavaScript调用客户端Java程序的方法
Jul 27 Javascript
javascript中字体浮动效果的简单实例演示
Nov 18 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
Oct 10 Javascript
整理关于Bootstrap排版的慕课笔记
Mar 29 Javascript
jquery实现图片轮播器
May 23 jQuery
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 Javascript
Vue解析带html标签的字符串为dom的实例
Nov 13 Javascript
JS实现长图上下滚动效果
Mar 19 Javascript
uni-app微信小程序登录授权的实现
May 22 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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
深入extjs与php参数交互的详解
2013/06/25 PHP
php构造函数与析构函数
2016/04/23 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
python类型强制转换long to int的代码
2013/02/10 Python
Python logging模块学习笔记
2014/05/24 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
pymysql 开启调试模式的实现
2019/09/24 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
pandas 数据类型转换的实现
2020/12/29 Python
天网面试题
2013/04/07 面试题
教育专业个人求职信
2013/12/02 职场文书
大学自我鉴定范文
2013/12/26 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
修辞手法有哪些?
2019/08/29 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android