一个简单的js合并列的例子,大家可以自己改进哦!

<html>
	<head>
		<title>单元格合并</title>
		<script>
			var main = 1;//参照列 从0开始
			var td = [2,3];//根据参照列合并的列 从0开始
			window.οnlοad=function()
			{
				var table = document.getElementById("tab"); 
				var name=""; 
				for(var i=0,j=0;i <table.rows.length;i++,j++) 
				{
					if(name==table.rows[i].cells[main].innerHTML) 
					{
						table.rows[i].deleteCell(main);
						for(var h=0;h<td.length;h++)
						{
							table.rows[i].deleteCell(td[i]);
						}
					}
					else
					{
						name=table.rows[i].cells[main].innerHTML; 
						if(i>0)
						{
							table.rows[i-j].cells[main].rowSpan=j; 
							for(var h=0;h<td.length;h++)
							{
								table.rows[i-j].cells[td[h]].rowSpan=j; 
							}
						}
						j=0; 
					}
				}
			}
		</script>
	</head>
<body>
<table border="1" id="tab">
	<tr>
		<td>编号</td>
		<td>姓名</td>
		<td>性别</td>
		<td>年龄</td>
		<td>科目</td>
		<td>分数</td>
	</tr>
	<tr>
		<td>1</td>
		<td>高高</td>
		<td>男</td>
		<td>12</td>
		<td>数学</td>
		<td>100</td>
	</tr>
	<tr>
		<td>2</td>
		<td>高高</td>
		<td>男</td>
		<td>12</td>
		<td>语文</td>
		<td>90</td>
	</tr>
	<tr>
		<td>3</td>
		<td>王帅</td>
		<td>男</td>
		<td>23</td>
		<td>物理</td>
		<td>0</td>
	</tr>
</table>
</body>
</html>


 

您好,以下是使用 MiniUI 写一个相同内容合并成一条的 JS 代码的示例: ```javascript // 定义数据 var data = [ { name: "张三", age: 20, gender: "男" }, { name: "李四", age: 21, gender: "男" }, { name: "王五", age: 20, gender: "男" }, { name: "赵六", age: 22, gender: "女" }, { name: "田七", age: 21, gender: "女" }, { name: "刘八", age: 20, gender: "男" }, { name: "周九", age: 22, gender: "女" }, ]; // 定义合并函数 function mergeData(data) { var result = []; var temp = {}; for (var i = 0; i < data.length; i++) { var item = data[i]; if (!temp[item.age]) { temp[item.age] = { name: item.name, age: item.age, gender: item.gender }; result.push(temp[item.age]); } else { temp[item.age].name += "," + item.name; } } return result; } // 合并数据 var mergedData = mergeData(data); // 显示数据 var grid = new mini.DataGrid(); grid.set({ allowCellWrap: true, columns: [ { field: "name", header: "姓名", width: 100 }, { field: "age", header: "年龄", width: 100 }, { field: "gender", header: "性别", width: 100 }, ], data: mergedData, }); document.body.appendChild(grid.el); ``` 在上面的代码中,我们先定义了一个数据,包含了姓名、年龄和性别等信息。然后,我们定义了一个合并函数 `mergeData`,用于将同相同内容进行合并。在这个函数中,我们使用了一个 `temp` 对象来保存已经合并过的数据,遍历原始数据,对于每个数据项,如果其年龄属性在 `temp` 对象中不存在,则将其添加到 `temp` 对象中,并将其添加到结果数组 `result` 中;否则,将当前数据项的姓名属性添加到 `temp` 对象中对应年龄的数据项的姓名属性后面。最后,我们调用 `mergeData` 函数将数据合并,并将结果显示在一个 MiniUI 的 `DataGrid` 中。 需要注意的是,在上面的代码中,我们将 `DataGrid` 的 `allowCellWrap` 属性设置为 `true`,以支持单元格自动换行,以便能够正确显示合并后的数据。同时,我们定义了三,分别对应姓名、年龄和性别属性,并将合并后的数据设置为 `DataGrid` 的数据源。 希望这个示例能够帮助到您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值