table表格单元格的合并详解

article/2025/9/12 22:20:28

 1.html实现表格

<el-tablemax-height="300":columns="columns":data="tableData":show-index="false":span-method="objectSpanMethod":header-cell-style="{ background: '#eef0f6' }"
/>

2.记录每个字段合并数的方法

/*** @description 获取表格某字段每一行合并数 有多少字段需要合并就调用几次* @param {Array} tableData 表格数据* @param {String} key 需要合并的字段* @return {Array} spanArr 存放每一行合并数 值为n表示n项合并,为0的项表示该项不显示*/
getSpanPosition(tableData, key) {let pos = 0const spanArr = []for (let index = 0; index < tableData.length; index++) {//遍历列表数据,给spanArr存入一个1if (index === 0) {spanArr.push(1)pos = 0} else {// 判断某字段第二个值和前一个值是否相同,相同就给spanArr前一位加1,spanArr再存入0// spanArr值为n表示n项合并,为0的项表示该项不显示const value1 = tableData[index][key] // 唯一标识const value2 = tableData[index - 1][key]// 当上一个和当前相等的时候,说明是同一个if (value1 === value2) {spanArr[pos] += 1spanArr.push(0)} else {spanArr.push(1)pos = index}}}return spanArr
}

3.合并单元格方法 

/*** @description 合并单元格方法* @param {Number} rowIndex 行序号* @param {Number} columnIndex 列序号* @param {Array} spanArr */
objectSpanMethod({ row, column, rowIndex, columnIndex }) {//该形式为行合并 第1列 目的省份 合并方式 if (columnIndex === 0) {const provinceNameSpanArr = this.getSpanPosition(this.tableData, 'provinceName')const _row = provinceNameSpanArr[rowIndex]const _col = _row > 0 ? 1 : 0return { rowspan: _row, colspan: _col }}//该形式为行合并 第1列 费用类型 合并方式 if (columnIndex === 1) {const feeTypeSpanArr = this.getSpanPosition(this.tableData, 'feeType')const _row = feeTypeSpanArr[rowIndex]const _col = _row > 0 ? 1 : 0return { rowspan: _row, colspan: _col }}//该形式为列合并 第7行if (rowIndex === 6) {if (columnIndex === 2) {// 定位到6行3列 告诉单元格合并1行2列return [1, 2]}if(columnIndex === 3) {// 告诉该单元格不显示return [0,0]}}
}

4.最终效果图


http://chatgpt.dhexx.cn/article/YvAHR0P3.shtml

相关文章

table表格--合并单元格

知识点概要&#xff1a; 1、colpan:横向合并"n"个单元格--n:默认1 2、rowspan:纵向合并"n"个单元格--n:默认1 代码demo&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/lo…

table表格中单元格的合并

目录 table表格中单元格的合并 table表格中单元格的合并很多朋友不一定了解&#xff0c;今天我就写一篇博客来跟大家分享一下table表格中的跨行合并和跨列合并。 我们先看一个合并过的表格&#xff0c;大家可以先思考一下这种表格通过代码是怎么实现的。 解析&#xff1a;我们…

类型“HTMLElement”上不存在属性“getContext”

ts警告&#xff1a;类型“HTMLElement”上不存在属性“getContext” 修改代码如下&#xff1a; const state reactive({canvasDom: null as HTMLCanvasElement | null,canvasCtx: null as CanvasRenderingContext2D | null, });onMounted(() > {state.canvasDom <HTML…

“TypeError: Cannot read properties of null (reading ‘getContext‘)“

目录 一、报错截图 二、使用场景 三、代码截图 四、报错原因 五、解决办法 一、报错截图 二、使用场景 第一次在vue项目种使用canvas&#xff0c;跟着网上教程做&#xff0c;标签canvas写好了&#xff0c;dom元素获取了&#xff0c;简单“画”了一下&#xff0c;运行之后报…

setcontext getcontext makecontext swapcontext

Linux上下文切换以及协程 上下文切换&#xff0c;听起来虚无缥缈&#xff0c;什么是上下文&#xff0c;切换又是指的是什么&#xff1f;其实上下文就可以理解为一个进程所运行的相关的寄存器值&#xff0c;即包括sp/bp/pc等值&#xff0c;换句话说&#xff0c;一个上下文&#…

android之getContext和getActivity介绍

image.png getContext View类中提供的方法&#xff0c;在继承了View的类中才可以调用。 返回的是当前View运行在哪个Activity Contex中&#xff0c;获取当前context的实例。 如果使用场景是Activity则相当于 this&#xff0c;如果使用场景是一个Server 那么获取的实例就是一个A…

sws_getContext函数详细使用

成功后返回SwsContext 类型的结构体。 参数1&#xff1a;被转换源的宽 参数2&#xff1a;被转换源的高 参数3&#xff1a;被转换源的格式&#xff0c;eg&#xff1a;YUV、RGB……&#xff08;枚举格式&#xff0c;也可以直接用枚举的代号表示eg&#xff1a;AV_PIX_FMT_YUV42…

canvas中getContext(“2d“) 对象的属性和方法

HTML5中canvas标签用于绘制图像&#xff08;通过脚本&#xff0c;通常是Js&#xff09;。 也就是说&#xff0c;canvas元素本身没有绘制能力仅仅是图形容 - 您必须使用脚本来完成实际的绘图任务。 getContext() 方法可返回一个对象&#xff0c;该对象提供了用于在画布上绘图的…

Debug:无法找到 getContext() 方法

Mybatis反向生成Swagger自动注释 - SegmentFault 思否 在使用该插件时 无法找到 getContext() 方法&#xff0c;是因为 mybatis-generator-core版本高于1.4.0&#xff0c;建议使用1.4.0一下版本进行构建

Android Context解析以及getContext()、getApplication()、getApplicationContext()和getBaseContext()区别

文章目录 Context 介绍Context数量getContext()、getApplication()、getApplicationContext()和getBaseContext()区别getContextgetApplication()、getApplicationContext()getBaseContext() Context 介绍 Android程序不像Java程序一样&#xff0c;随便创建一个类&#xff0c;…

sws_getContext和sws_scale分析

struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat, int dstW, int dstH, enum AVPixelFormat dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, const double *param);创建转换上下文&#xff0c;参数分析&#xff1a;…

View Fragment Window 的 getContext() 一定返回 Activity 吗?

目录 1. 问题分析 1.1 Context 有哪些&#xff1f; 首先&#xff0c;我们回顾一下 Context 以及它的子类&#xff0c;在之前的这篇文章里&#xff0c;我们曾经讨论过&#xff1a;《Android | 一个进程有多少个 Context 对象&#xff08;答对的不多&#xff09;》。简单来说&a…

HTML5 canvas 参考手册

HTML5 <canvas> 参考手册 描述 HTML5 <canvas> 标签用于绘制图像&#xff08;通过脚本&#xff0c;通常是 JavaScript&#xff09;。 不过&#xff0c;<canvas> 元素本身并没有绘制能力&#xff08;它仅仅是图形的容器&#xff09; - 您必须使用脚本来完成实…

Unix/Linux编程:getcontext、setcontext

ucontext该结构提供了所谓的用户上下文信息&#xff0c;用于描述调用信号处理器函数前的进程状态&#xff0c;其中包括上一个进程信号掩码以及寄存器的保存值&#xff0c;例如程序计数器&#xff08;cp&#xff09;和栈指针寄存器&#xff08;sp&#xff09;&#xff0c;使用结…

Andriod getContext和getActivity

原创文章&#xff0c;如有转载&#xff0c;请注明出处&#xff1a;http://blog.csdn.net/myth13141314/article/details/62045162 MainActivity.this&#xff1a;表示MainActivity对象&#xff0c;一般用在内部类中指示外面的this&#xff0c;如果在内部类直接用this&#xff…

岭回归模型|机器学习|回归算法

目录 1.岭回归模型1.1背景1.2损失函数 2.相关代码2.1RidgeRegression类2.2求解代码2.3绘图代码 3.直接调库使用 1.岭回归模型 1.1背景 对于回归问题来说&#xff0c;它们的基本内容基本上都是相同的&#xff0c;所以岭回归模型与线性回归模型类似&#xff1a; y θ 0 x 0 …

机器学习学习笔记(13)----岭回归(Ridge回归)

在《机器学习学习笔记&#xff08;4&#xff09;----线性回归的数学解析》&#xff0c;我们通过计算线性模型的损失函数的梯度&#xff0c;得到使得损失函数为最小值的的解析解&#xff0c;被称之为普通最小二乘法&#xff1a; (1) 公式(1)能够求得的前提是是满秩矩阵&#xf…

Python机器学习教程—岭回归的原理和实现

在某些场景下&#xff0c;线性回归无法给出一个效果好的预测模型&#xff0c;那么就需要使用线性回归的升级版&#xff0c;去面对更复杂的应用场景&#xff0c;本文所记录的岭回归便是线性回归的一个升级版。 目录 强势样本对模型的影响 实例 岭回归定义 岭回归的实现 岭…

岭回归和Lasso回归

偏差和方差 机器学习算法针对特定数据所训练出来的模型并非是十全十美的&#xff0c;再加上数据本身的复杂性&#xff0c;误差不可避免。说到误差&#xff0c;就必须考虑其来源&#xff1a;模型误差 偏差&#xff08;Bias&#xff09; 方差&#xff08;Variance&#xff09; …

基于Python的岭回归模型

本文是使用Python进行岭回归模型分析&#xff0c;消除多重共线性 一、岭回归原理 自变量之间存在多重共线性&#xff0c;当时&#xff0c;加上一个正的常数矩阵(K>0)&#xff0c;岭回归估计定义公式&#xff1a; &#xff08;k为岭参数&#xff09; 的奇异程度比奇异程度小&…