h1{
text-align: center;
color: #ff4d4d;
font-size: 70px;
}
table {
border-color: black;
border-width: 5px;
overflow: hidden;
border-collapse:collapse;
width: 100%
}
th {
border-color: black;
font-family: monospace;
position: relative;
background-color: #ff4d4d;
color: #ffffff;
background-clip: padding-box;
}
td{
border-bottom: none;
}
td #noborder {
border-bottom: none;
}
/* tr:hover {
background-color: #ffcccc;
}
td{
position: relative;
border-bottom: none;
}
td:hover::after,
th:hover::after {
content: "";
position: absolute;
background-color: #ffcccc;
left: 0;
top: -5000px;
height: 10000px;
width: 100%;
z-index: -1;
}*/
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f1f1f1;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
td:empty{
border-bottom: none;
border-top: none;
}
.dropdown-content a:hover {background-color: #ddd;}
.dropdown:hover .dropdown-content {display: block;}
.dropdown:hover .dropbtn {background-color: #3e8e41;}html>
<head>
<h1> f1 </h1>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>OSCSUI</title>
<%@page import="java.sql.*" %>
</head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script>
</script>
<body>
</body>
<form method="post">
<table id="table1" border ='1' cellpadding="10">
<tr>
<th>T1</th>
<th>T2</th>
<th>T3</th>
<th>T4</th>
<th>T5</th>
<th>T6</th>
<th>T7</th>
<th>T8</th>
<th>T9</th>
<th>T10</th>
<th>T11</th>
<th>T12</th>
<th>T13</th>
<th>T14</th>
<th>T15</th>
</tr>
<%
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM TABLE ");
while(rs.next())
{
%>
<tr><td><%=rs.getString("T1") == null ? "" : rs.getString("T1") %></td>
<td><%=rs.getString("T2") == null ? "" :rs.getString("T2")%></td>
<td><%=rs.getString("T3") == null ? "" :rs.getString("T3")%></td>
<td><%=rs.getString("T4") == null ? "" :rs.getString("T4")%></td>
<td><%=rs.getString("T5") == null ? "" :rs.getString("T5")%></td>
<td><%=rs.getString("T6")== null ? "" : rs.getString("T6")%></td>
<td><%=rs.getString("T7")== null ? "" :rs.getString("T7") %></td>
<td><%=rs.getString("T8") == null ? "" :rs.getString("T8")%></td>
<td><%=rs.getString("T9")== null ? "" :rs.getString("T9") %></td>
<td><%=rs.getString("T10") == null ? "" :rs.getString("T10")%></td>
<td id="noborder"><%=rs.getString("T10")== null ? "" :rs.getString("T10") %></td>
<td><%=rs.getString("T12")== null ? "" :rs.getString("T12") %></td>
<td><%=rs.getString("T13") == null ? "" :rs.getString("T13")%></td>
<td><%=rs.getString("T14") == null ? "" :rs.getString("T14")%></td>
<td>
<div class="dropdown">
<button class="dropbtn">T15</button>
<div class="dropdown-content">
<a href="#">TASK 1</a>
<a href="#">TASK 2</a>
</div></div> </td>
</tr>
<%
}
%>
</table>
<%
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</form>
</html>
我将我的数据放在.CSV文件中。我使用SQL Loader将其加载到数据库中,现在JSP页面上的输出也有空单元格。我想做的基本上是合并空单元格并将其显示为单列,但是我无法这样做,因为它不是固定的,并且我必须在每列中合并不同数量的行。
我已经尝试了td:empty的CSS属性,但是它没有起到作用,因为我说过每次的数据都是不同的,所以我正在寻找一些可以相应地合并行的东西。请建议我该怎么做。
编辑:我已经附加了我的代码,要点是基本上我必须组合每列不同数量的行,这是不固定的,因为我从CSV中拉数据,所以它一直在变化。
发布于 2019-06-04 03:36:19
从代码判断,数据库中每行有15个元素。
因此,您需要将所有这些列读取到单个数据结构中,例如长度为15的字符串数组。
之后,对数据结构进行迭代:如果列不为空,则将其表示放入jsp中。
否则,继续迭代,直到到达下一个非空元素或行尾。别忘了数一下那些空的。
如果到达末尾或找到下一个,则使用适当的colspan输出(空)列,重置计数器值,然后继续处理。
https://stackoverflow.com/questions/56433185
复制相似问题