Bootstrap-表格合并单元格

1、问题背景

利用Bootstrap设计表格,并且表格需要合并单元格


2、实现源码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
	    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	    <meta name="viewport" content="width=device-width, initial-scale=1">
	    <meta name="description" content="">
	    <meta name="author" content="">
	    <link rel="icon" href="js/bootstrap-3.3.5/docs/favicon.ico">
		<title>Bootstrap-表格合并单元格</title>
		<link rel="stylesheet" href="js/bootstrap-3.3.5/dist/css/bootstrap.css" />
		<script type="text/javascript" src="js/jquery-1.12.4.js" ></script>
		<script type="text/javascript" src="js/bootstrap-3.3.5/dist/js/bootstrap.js" ></script>
		<style>
			body,html{
				width: 99%;
				height: 98%;
				font-family: "微软雅黑";
				font-size: 14px;
			}
			table{
				width: 100%;
			}
		</style>
		<script>
			
		</script>
	</head>
	<body>
		<div class="row">
			<div class="col-xs-12">
				<table class="table table-striped">
					<tr>
						<td>
							<label for="stuNo">学号:</label>
							<input type="text" id="stuNo" />
							<div class="btn-group" style="width: 157px; height: 26px;">
							   <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="width: 157px; height: 26px;">
							      	班级 
							   </button>
							   <ul class="dropdown-menu" role="menu">
							      <li><a href="#">一班</a></li>
							      <li><a href="#">二班</a></li>
							      <li><a href="#">三班</a></li>
							      <li><a href="#">四班</a></li>
							      <li><a href="#">五班</a></li>
							   </ul>
							</div>
							<button type="button" class="btn btn-primary">查询</button>
							<button type="button" class="btn">重置</button>
						</td>
					</tr>
				</table>
			</div>
			<div class="col-xs-12">
				<div class="col-xs-2">
					<table class="table table-striped table-bordered">
						<caption>学生表</caption>
						<thead>
							<tr>
								<th>学生</th>
								<th>学号</th>
							</tr>
						</thead>
						<tbody>
							<tr>
								<td>胡思</td>
								<td>2016010101</td>
							</tr>
							<tr>
								<td>赵四</td>
								<td>2016010102</td>
							</tr>
							<tr>
								<td>陈诚</td>
								<td>2016010103</td>
							</tr>
							<tr>
								<td>李磊</td>
								<td>2016010104</td>
							</tr>
							<tr>
								<td>孙杨</td>
								<td>2016010105</td>
							</tr>
							<tr>
								<td>李爽</td>
								<td>2016010106</td>
							</tr> 
						</tbody>
					</table>
					<table class="table table-striped table-bordered">
						<caption>学生表</caption>
						<thead>
							<tr>
								<th>学生</th>
								<th>学号</th>
							</tr>
						</thead>
						<tbody>
							<tr>
								<td>胡思</td>
								<td>2016010101</td>
							</tr>
							<tr>
								<td>赵四</td>
								<td>2016010102</td>
							</tr>
							<tr>
								<td>陈诚</td>
								<td>2016010103</td>
							</tr>
							<tr>
								<td>李磊</td>
								<td>2016010104</td>
							</tr>
							<tr>
								<td>游豪</td>
								<td>2016010105</td>
							</tr>
						</tbody>
					</table>
				</div>
				<div class="col-xs-10">
					<table class="table table-striped">
						<tr style="text-align: center;">
							<td>到校</td>
							<td>回家</td>
							<td>距离</td>
						</tr>
						<tr style="text-align: center;">
							<td colspan="2" style="text-align: center;">222</td>
							<td rowspan="2" style="width: 200px;">
								<div class="col-xs-12">
									<table class="table table-striped table-bordered">
										<thead>
											<tr>
												<th>姓名</th>
												<th>学号</th>
											</tr>
										</thead>
										<tbody>
											<tr>
												<td>胡思</td>
												<td>2016010101</td>
											</tr>
										</tbody>
									</table>
								</div>
							</td>
						</tr>
						<tr>
							<td colspan="2" style="text-align: center;">333</td>
						</tr>
					</table>
					<table class="table table-striped">
						<tr style="text-align: center;">
							<td>到校</td>
							<td>回家</td>
							<td>距离</td>
						</tr>
						<tr style="text-align: center;">
							<td colspan="2" style="text-align: center;">222</td>
							<td rowspan="2" style="width: 200px;">
								<div class="col-xs-12">
									<table class="table table-striped table-bordered">
										<thead>
											<tr>
												<th>姓名</th>
												<th>学号</th>
											</tr>
										</thead>
										<tbody>
											<tr>
												<td>胡思</td>
												<td>2016010101</td>
											</tr>
										</tbody>
									</table>
								</div>
							</td>
						</tr>
						<tr>
							<td colspan="2" style="text-align: center;">333</td>
						</tr>
					</table>
					<table class="table table-striped">
						<tr style="text-align: center;">
							<td>到校</td>
							<td>回家</td>
							<td>距离</td>
						</tr>
						<tr style="text-align: center;">
							<td colspan="2" style="text-align: center;">222</td>
							<td rowspan="2" style="width: 200px;">
								<div class="col-xs-12">
									<table class="table table-striped table-bordered">
										<thead>
											<tr>
												<th>姓名</th>
												<th>学号</th>
											</tr>
										</thead>
										<tbody>
											<tr>
												<td>胡思</td>
												<td>2016010101</td>
											</tr>
										</tbody>
									</table>
								</div>
							</td>
						</tr>
						<tr>
							<td colspan="2" style="text-align: center;">333</td>
						</tr>
					</table>
					<table class="table table-striped">
						<tr style="text-align: center;">
							<td>到校</td>
							<td>回家</td>
							<td>距离</td>
						</tr>
						<tr style="text-align: center;">
							<td colspan="2" style="text-align: center;">222</td>
							<td rowspan="2" style="width: 200px;">
								<div class="col-xs-12">
									<table class="table table-striped table-bordered">
										<thead>
											<tr>
												<th>姓名</th>
												<th>学号</th>
											</tr>
										</thead>
										<tbody>
											<tr>
												<td>胡思</td>
												<td>2016010101</td>
											</tr>
										</tbody>
									</table>
								</div>
							</td>
						</tr>
						<tr>
							<td colspan="2" style="text-align: center;">333</td>
						</tr>
					</table>
				</div>
			</div>
		</div>
	</body>
</html>

3、实现结果


合并单元格,需要使用 `react-bootstrap-table-next` 中的 `rowSpan` 和 `colSpan` 属性。这些属性可以在 `columns` 对象中定义,用于指定表格中每个单元格应该跨越的行和列的数量。 具体的实现步骤如下: 1. 在 `columns` 对象中定义需要合并单元格的列,为其添加 `rowSpan` 和 `colSpan` 属性。 2. 在 `data` 数组中为需要合并单元格的行添加相应的属性值,这些属性值将在表格渲染时被引用。 下面是一个例子: ```javascript import BootstrapTable from 'react-bootstrap-table-next'; import 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css'; const columns = [ { dataField: 'id', text: 'ID', }, { dataField: 'name', text: 'Name', }, { dataField: 'age', text: 'Age', }, { dataField: 'gender', text: 'Gender', rowSpan: 2, // 跨越两行 }, { dataField: 'location', text: 'Location', colSpan: 2, // 跨越两列 }, { dataField: 'address', text: 'Address', hidden: true, // 隐藏该列 }, { dataField: 'city', text: 'City', }, { dataField: 'state', text: 'State', }, ]; const data = [ { id: 1, name: 'John', age: 30, gender: 'Male', location: 'New York', address: '123 Main St', city: 'New York', state: 'NY', }, { id: 2, name: 'Jane', age: 25, gender: 'Female', location: 'San Francisco', address: '456 Elm St', city: 'San Francisco', state: 'CA', }, ]; <BootstrapTable keyField='id' data={ data } columns={ columns }/> ``` 在上面的例子中,表格中的 `Gender` 列跨越了两行,`Location` 列跨越了两列。注意,在定义了 `colSpan` 属性的列后面应该添加相应数量的列来占据跨度。 希望这可以帮助你实现合并单元格的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值