react ant table 表格合并单元格

61 篇文章 1 订阅
52 篇文章 2 订阅
这段代码展示了如何在Excel表格中通过JavaScript实现对公司名称相同的行数据进行合并。通过对数组遍历查找重复公司名,确定需要合并的单元格,并设置相应的rowSpan属性来完成合并操作。此功能适用于数据展示时避免重复信息的冗余展示。
摘要由CSDN通过智能技术生成

将行数据中公司名相同的数据进行合并

1. 代码

// 单元格合并
const getTablecells = (_, index, s) => {
    let str = _.companyName
    // 取出公司名
    var arr = config.tableData.map((item) => {
        return item.companyName
    })
    function duplicates(arr) {
        var Arr = []
        arr.forEach((elem, index) => {
            if (
                arr.indexOf(elem) !== arr.lastIndexOf(elem) &&
                Arr.indexOf(elem) === -1
            ) {
                Arr.push({
                    indexs: index,
                    val: elem,
                })
            }
        })
        return Arr
    }
    // 找到相同公司名项
    let sameArr = duplicates(arr)
    let arr0 = sameArr.filter((item1) => item1.val == str)
    // 如果是index匹配上了,并且是匹配到的第一项那么当前格需要合并.
    // 如果是index匹配上了,但不是匹配到的第一项那么当前格需要去除.
    // 如果是index没匹配,显示默认的一格 
    let obj = {
        rowSpan:
            arr0[0] && index == arr0[0].indexs
                ? arr0.length
                : arr0.filter((item1) => item1.indexs == index).length
                    ? 0
                    : 1,
    }
	for(var i = 0;i<9;i++){
		return obj
	}
    return {}
}

// 配置表格列
const columns: TableListItem[] = [
    {
        title: '序号',
        // dataIndex: 'id',
        valueType: 'indexBorder',
        hideInSearch: true,
        width: 40,
        onCell: (_, index, s) => { return getTablecells(_, index, s) },
    },
    {
        title: '公司名称',
        width: 120,
        dataIndex: 'companyName',
        onCell: (_, index, s) => { return getTablecells(_, index, s) },
    }, {
        title: '印章数量',
        width: 80,
        dataIndex: 'sealNumber',
        hideInSearch: true,
        onCell: (_, index, s) => { return getTablecells(_, index, s) },
    },
]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值