element UI动态表格相同内容的单元格合并

代码:

<template>
<div class=‘table-index‘>
  <div class=‘table-body‘>
  <el-table
      :data="detailList"
      style="width: 100%"
      :header-cell-style="rowClass"
      :span-method="objectSpanMethod"
      show-summary
      :summary-method="getSummaries"
      border>
      <el-table-column
        prop="name"
        label="标题1"
        width="180"
        align="center">
      </el-table-column>
      <el-table-column
        prop="indexName"
        label="标题2"
        width="180"
        align="center">
      </el-table-column>
      <el-table-column
        prop="columnName"
        label="标题3"
        width="180"
        align="center">
      </el-table-column>
      <el-table-column
        prop="point"
        label="标题4"
        width="180"
        align="center">
      </el-table-column>
  </el-table> 

  </div>
</div>
</template>

<script>
export default {
  components: {},
  data () {
    return {
      detailList: [],
      arr1: [],
      arr2: []

    }
  },
  computed: {},
  watch: {},
  methods: {
    setdates (arr) {
      var obj = {}
      var k = []
      // var arr1 = []
      for (var i = 0, len = arr.length; i < len; i++) {
        k = arr[i].name
        if (obj[k]) { obj[k]++ } else { obj[k] = 1 }
      }
      console.log(obj)
      // 保存结果标题1出现次数}
      for (var o in obj) {
        for (let i = 0; i < obj[o]; i++) {
          if (i === 0) {
            this.arr1.push(obj[o])
          } else {
            this.arr1.push(0)
          }
        }
      }
      console.log(this.arr1)
      var obj2 = {}
      // var j = []
      // var arr2 = []
      for (let i = 0, len = arr.length; i < len; i++) {
        k = arr[i].indexName
        if (obj2[k]) { obj2[k]++ } else { obj2[k] = 1 }
      }
      console.log(obj2)
      // 保存标题2出现次数
      for (let o in obj2) {
        for (let i = 0; i < obj2[o]; i++) {
          if (i === 0) {
            this.arr2.push(obj2[o])
          } else {
            this.arr2.push(0)
          }
        }
      }
      console.log(this.arr2)
    },
    objectSpanMethod ({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 0) {
        let _row = this.arr1[rowIndex]
        let _col = this.arr1[rowIndex] > 0 ? 1 : 0
        return [_row, _col]
      } else if (columnIndex === 1) {
        let rows = this.arr2[rowIndex]
        let cols = this.arr2[rowIndex] > 0 ? 1 : 0
        return [rows, cols]
      } else if (rowIndex === 5) {
        if (columnIndex === 0) {
          return [1, 3]
        }
      }
    },
    getSummaries (param) {
      const { columns, data } = param
      const sums = []
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = ‘总和‘
          return
        }
        const values = data.map(item => Number(item[column.property]))
        if (!values.every(value => isNaN(value))) {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr)
            if (!isNaN(value)) {
              return prev + curr
            } else {
              return prev
            }
          }, 0)
          sums[index] += ‘ .00‘
        } else {

        }
      })
      return sums
    },
    getDetail () {     this.$http.get(SERVER).then(
        res => {
          if (res.resultcode === ‘0‘) {
            this.detailList = res.data.datalistthis.setdates(this.detailList)
          }
        }).catch()
    }
  },
  created () {
  }
}
</script>
<style lang=‘scss‘ scoped>
//@import url(); 引入公共css类</style>

原文地址:https://www.cnblogs.com/drw666/p/11758810.html

时间: 2024-08-30 13:50:06

element UI动态表格相同内容的单元格合并的相关文章

jquery实现的统计table表格指定列的单元格值的和

jquery实现的统计t]able表格指定列的单元格值的和:在一些应用中,表格单元格中存放的都是数字,比如学生的分数,那么就有可能将这些分数做加法运算来统计出总分数,下面就通过代码实例介绍一下如何统计某一列单元格中值的和.代码实例: <!DOCTYPE html><html> <head> <meta charset=" utf-8"> <meta name="author" content="http

Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等

目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 一.概述 最近在研究QTableView支持多级表头的事情,百度了下网上资料还是挺多的.实现的方式总的来说有2种,效果都还不错,最主要是搞懂其中的原理,做到以不变应万变. 实现多级表头的方式有以下两种方案 行表头和列表头都是用一个表格去模拟 重写QHeadView 以上两种方式都可以实现多级表头,各

javascript如何便利表格中的行和单元格

javascript如何便利表格中的行和单元格:尽管现在普遍使用div布局来替代表格,这并不说明table是一无是处的,在制作表格类型的结构的时候还是使用table更为有效.在实际应用中有时候需要便利表格中的行和单元格,下面就通过实例简单介绍一下如何实现此功能.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author&quo

[Xcode10 实际操作]五、使用表格-(3)设置UITableView单元格图标

本文将演示如何给表格行设置图标. 打开资源文件夹[Assets.xcassets], 在资源文件夹中导入两张图片:一张彩色,一张灰色,作为单元格的图标. [+]->[Import]->[Open] 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 //首先添加两个协议. 4 //一个是表格视图的代理协议UITableViewDelegate 5 //另一个是表格视图的数据源协议UITableViewDataSource 6

Easyui datagrid 设置内容超过单元格宽度时自动换行显示

datagrid 设置内容超过单元格宽度时自动换行显示 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 问题描述 单元格内容超过单元格宽度不会自动化换行.如下: 图1: 图2: 解决方法 定义表格时,设置nowrap属性为false. <table id='tt' class="easyui-datagrid" title="Basic DataGrid" style="width:700px;height:

关于table动态添加数据 单元格合并 数组合并

var newArr = [ {"BranchID":1,"BranchName":"城二","BranchFullName":"城二分公司","IssueTypeID":101,"IssueTypeName":"宏蜂窝连片弱覆盖","Total":242,"WithoutDemand":139,"

【web开发】☆★之利用POI操作Excel表格系列教程【11】单元格合并

[web开发]☆★之利用POI操作Excel表格系列教程[11]单元格合并 package csg.xiaoye.poidemo; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.p

[Xcode10 实际操作]五、使用表格-(8)自定义UITableView单元格Accessory样式(附件图标)

本文将演示如何自定义单元格的附件图标. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 //首先添加两个协议. 4 //一个是表格视图的代理协议UITableViewDelegate 5 //另一个是表格视图的数据源协议UITableViewDataSource 6 class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSou

JTable 单元格合并 【转】

单元格合并 一.单元格合并.(1)我们可以使用Jtable的三个方法:getCellRect(),columnAtPoint(),and rowAtPoint().第一个方法返回一个单元格的边界(Rectangle类),第二.三个方法分别返回屏幕指定位置的列和行.为了实现单元格合并,我们需要重载(overwrite)这三个方法. (2)另外我们需要找出渲染Jtable的ComponentUI对象,并且修改它以达到我们的目的. (3)创建新的类记录单元格合并情况的数据模型,它要包涵一个方法来取得单