本文介紹了包含行跨度的百里葉表問(wèn)題(1個(gè)訂單,N篇文章)的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我正在為訂購(gòu)系統(tǒng)創(chuàng)建一個(gè)簡(jiǎn)單的Intranet Web視圖,以顯示當(dāng)前正在處理的所有訂單。然而,我堅(jiān)持使用胸腺葉標(biāo)記:
public class Order {
private Factory factory;
private String orderNumber;
private Date orderDate;
....
private List<Article> articles;
}
public class Article {
private String number;
private String name;
}
我想要實(shí)現(xiàn)的內(nèi)容如下(1個(gè)訂單+3篇文章按此順序):
<table class="table table-striped table-hover table-middle table-condensed table-bordered">
<thead>
<tr>
<th>OrderNr</th>
<th>Date</th>
<th>Article Number</th>
<th>ArticleName</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">Order 32</td>
<td rowspan="3">27.03.2020</td>
<td>17442</td>
<td>Screws</td>
</tr>
<tr>
<td>023423</td>
<td>Potatoe</td>
</tr>
<tr>
<td>32342</td>
<td>YetAnotherItem</td>
</tr>
</tbody>
</table>
所有常見(jiàn)的內(nèi)容應(yīng)該在所有文章中排成一行,并且應(yīng)該每行查看一篇文章。然而,我不知道如何用兩個(gè)TH來(lái)實(shí)現(xiàn)這一點(diǎn):每個(gè)TH(一個(gè)用于訂單,一個(gè)用于訂單的物品)。我可以在標(biāo)記中使用大量的if來(lái)”展平”我的視圖(每行由一個(gè)Line-Object表示),但在我看來(lái),這是一個(gè)非常骯臟的變通……
有人能幫我找到更好的解決方案嗎?
非常感謝!
推薦答案
<table>
<thead>
<tr>
<th>OrderNr</th>
<th>Date</th>
<th>Article Number</th>
<th>ArticleName</th>
</tr>
</thead>
<tbody>
<div th:remove="tag" th:each="order:${orderList}"
th:with="articleCount=${order.articleList.size()}">
<tr>
<td th:text="${order.orderNumber}" th:rowspan="${order.articleList.size()}"></td>
<td th:text="${order.orderDate}" th:rowspan="${order.articleList.size()}"></td>
<td th:text="${articleCount>0}?${order.articles[0].number}:''"></td>
<td th:text="${articleCount>0}?${order.articles[0].name}:''"></td>
</tr>
<tr th:each="article,stats:${order.articles}" th:if="${!stats.first}">
<td th:text="${article.number}"></td>
<td th:text="${article.name}"></td>
</tr>
</div>
</tbody>
</table>
th:remove="tag"
For Removediv
For Removediv
TABLE生成后。
已更改以避免呈現(xiàn)問(wèn)題。感謝@Martin C.的comment
這篇關(guān)于包含行跨度的百里葉表問(wèn)題(1個(gè)訂單,N篇文章)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,