C# HTML 中的 Rowspan Table 行 'For loop' 基于特定值

Rowspan Table rows in C# HTML with 'For loop' based on certain value

我想在 table 的第一列做一个 Rowspan。

我当前的 table 看起来像这样:

Type Color Num
Car Red 1
Car Black 2
Car Black 3
Bike Yellow 4
Bike Green 5
Bike Yellow 6

我想要的是合并所有具有相同TYPE 的行。 对于这个例子,我应该在 Type Column 中只得到两行;汽车和自行车。 我知道如何进行折叠,但问题是我正在从这样的数据库中获取 table :

<table class="table table-striped table-bordered " style="display:inline-table;"> 
<thead>
   <tr >     
        <th class="col-1">
                    Type
        </th> 
        <th class="col-2">
                    Color
        </th>
        <th class="col-2">
                  Num  
      </th>
    </tr>
</thead>
<tbody>

    @foreach (var item in Model)
    {
         <tr>
     
        <td>
          
                  @item.Type
        </td> 
        <td>
          
                  @item.Color
        </td>
        <td>
                  @item.Num
        </td>     
  
    </tr>
 
    }
</tbody>

    </table> 

将您的数据分组:

<tbody>
@foreach (var group in Model.GroupBy(i => i.Type))
{
    var items = group.ToList();
    <tr>
        <td rowspan="@items.Count">@group.Key</td>
        <td>@items[0].Color</td>
        <td>@items[0].Num</td>
    </tr>
    @for (int index = 1; index < items.Count; index++)
    {
        <tr>
            <td>@items[index].Color</td>
            <td>@items[index].Num</td>
        </tr>
    }
}
</tbody>